この記事では、SQL Serverデータベースの列に既存の制約がある場合に、その列を削除する方法を示します(ヒント:最初に制約を削除する必要があります)。
列を削除しようとしたことがある場合は、次のように言います。
ALTER TABLE Tasks DROP COLUMN TaskCode; GO
次のようなエラーが発生する場合のみ:
Msg 5074, Level 16, State 1, Line 1 The object 'taskcode_unique' is dependent on column 'TaskCode'. Msg 4922, Level 16, State 9, Line 1 ALTER TABLE DROP COLUMN TaskCode failed because one or more objects access this column.
その理由は、列に既存の制約があり、制約がある場合はテーブルを削除できないためです。
したがって、テーブルを削除する前に制約を削除する必要があります。
最初に制約を削除
制約を削除する方法は次のとおりです。
ALTER TABLE Tasks DROP CONSTRAINT taskcode_unique; GO
結果:
Commands completed successfully.
次にテーブルをドロップします
制約を削除したので、先に進んでテーブルを削除できます:
ALTER TABLE Tasks DROP COLUMN TaskCode; GO
結果:
Commands completed successfully.