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