SQL Server 删除列

SQL Server 删除列

删除时需要确保表和列存在,如果有限制先删除限制再删除列。

IF EXISTS (SELECT * FROM sys.columns WHERE object_id = OBJECT_ID(N'TableName') AND NAME = N'ColumnName')
BEGIN    
    DECLARE @CONS_NAME sysname;
    SELECT  @CONS_NAME = OBJECT_NAME(default_object_id)
    FROM    sys.columns
    WHERE   [object_id] = OBJECT_ID('TableName') AND name = 'ColumnName';
    IF @CONS_NAME IS NOT NULL AND LEN(@CONS_NAME) > 0
        BEGIN
            EXEC ('ALTER TABLE TableName DROP CONSTRAINT ' + @CONS_NAME);
        END
	Alter Table TableName DROP COLUMN ColumnName;
END

使用GO分割,删除多个列时,可以使用相同的参数名称。

GO

打赏