SQLSERVERで列の存在チェック、追加、編集、削除

DBAのテンプレにどーぞ。

IF (SELECT COUNT(*) FROM SYS.COLUMNS WHERE NAME = '[列名]' AND OBJECT_ID = Object_ID('[dbo].[テーブル名]')) = 0 BEGIN 
ALTER TABLE [テーブル名] ADD [列名] [型] [NULL/NOT NULL]
    PRINT '追加しました' 
END ELSE
    PRINT '既に存在します' 
GO

IF (SELECT COUNT(*) FROM SYS.COLUMNS WHERE NAME = '[列名]' AND OBJECT_ID = Object_ID('[dbo].[テーブル名]')) = 0 BEGIN 
    PRINT '対象列存在しません' 
END ELSE
ALTER TABLE [テーブル名] ALTER COLUMN [列名] [型] [NULL/NOT NULL]
    PRINT '更新しました' 
GO

IF (SELECT COUNT(*) FROM SYS.COLUMNS WHERE NAME = '[列名]' AND OBJECT_ID = Object_ID('[dbo].[テーブル名]')) = 0 BEGIN 
    PRINT '対象列存在しません' 
END ELSE
ALTER TABLE [テーブル名] DROP COLUMN [列名]
    PRINT '削除しました' 
GO