テーブルの制約を無効/有効にする

制約に引っかかってINSERTに失敗してしまった…どうすれば…という状況になった時に教えていただいたSQLの備忘録。

 

テーブルの制約を無効にする

alter table テーブル1 modify constraint 制約名 disable;

 

テーブルの制約を有効にする

alter table テーブル1 modify constraint 制約名 enable;

 

なんとか一時的に制約を無効にしてINSERTに成功しました。

実行して気づいたんですが、これ、実行するとそれまでのSQLコミットされるみたいです。当然のような気はしますが…。

あとは制約を有効にする時は、制約違反に注意。戻す時にやらかしたかと思って焦った…。

 

「alter table modify constraint disable」でググったところ、2002年の投稿でしたがほぼ同様の投稿を発見したのでこれも残しておく。

Oracle Technology Network (OTN) Japan - 掲示板 : 制約を無効にする。 ...

 

勉強不足を痛感してはいるけど何をやればいいのか分からなくてぐるぐる悩む今日この頃。