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

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段階で処理をする必要があるようです。

スポンサーリンク
スポンサーリンク
SQL学習におすすめの本
SQL Server
スポンサーリンク
ソフトウェア開発日記
タイトルとURLをコピーしました