一个表中有字段 aa (此字段为变化的,你不知道他是什么,我用aa代替,他在表格中是第4个字段),请问如何用sql 语句删除aa,带上sql 语句,谢谢
我用了  alter table xxx  drop{4}   这个不行

解决方案 »

  1.   

    DECLARE @COL VARCHAR(50)
    DECLARE @SQL VARCHAR(100)SELECT @COL = NAME FROM SYSCOLUMNS
    WHERE ID = OBJECT_ID('XXX')
      AND COLID = 4SET @SQL = 'alter table xxx drop column ' + @COLEXEC(@SQL)
      

  2.   

    declare @sql varchar(1000)
    select @sql='alter table tb drop column '+name 
    from sys.columns where object_id=object_id('tb') and column_id=4
    exec (@sql)
      

  3.   

    CREATE TABLE TB(ID INT,CODE VARCHAR(32),NAME VARCHAR(32),ADDRESS NVARCHAR(128),COMMENT NVARCHAR(256))DECLARE @COL NVARCHAR(128)
    SELECT @COL=B.name FROM sys.tables A JOIN sys.columns B ON A.object_id =B.object_id 
    WHERE A.name ='TB' AND B.column_id=4DECLARE @SQL VARCHAR(MAX)
    SET @SQL ='
    ALTER TABLE TB  DROP COLUMN '+@COL+''EXEC (@SQL)
      

  4.   

    谢谢各位,但都不行,因为此语句是在access上执行