ALTER TABLEのALTER COLUMNで「列 ‘xxxxx’ に依存しています」とエラーになる

プログラミング SQL Server

SQLServerでALTER COLUMNで「列 ‘xxxxx’ に依存しています」とエラーが発生した場合の対応方法です。

スポンサーリンク

ALTER COLUMNで「列 ‘xxxxx’ に依存しています」とエラー

SQLServerでカラムの属性を変更しようとしたら「列 ‘xxxxx’ に依存しています」のようなエラーが発生しました。

実行したALTER TABLEのALTER COLUMN

以下が実行したALTER TABLEのALTER COLUMN。

ALTER TABLE テーブル名 ALTER COLUMN [フィールド名] INT NOT NULL;

エラーの内容

発生したエラーの内容は

オブジェクト 'DF_xxx_xxx' は 列 'xxxxx' に依存しています。
メッセージ 4922、レベル 16、状態 9、サーバー XXXXXX、行 6
ALTER TABLE ALTER COLUMN xxxxx は失敗しました。1 つ以上のオブジェクトがこの列を参照しています。

です。

エラーの対策

どうやら制約を外す必要があるようなので

ALTER TABLE テーブル名 DROP CONSTRAINT DF_xxx_xxx ;              --制約削除
ALTER TABLE テーブル名 ALTER COLUMN [フィールド名]INT NOT NULL ; --カラム変更
ALTER TABLE テーブル名 ADD DEFAULT 0 FOR [フィールド名] ;        --デフォルト値設定

と3段階で処理をする必要があるようです。

タイトルとURLをコピーしました