制約の削除

ALTER TABLE テーブル名 DROP CONSTRAINT 制約名;

既存のtableをリネーム退避して、同名tableを作り直そうとしたが、オラクルエラー。
主キー制約のせいだと気づき、drop indexで主キーを消そうとするが消せず。
で、主キー制約を削除することで問題解決。

ついでに、drop index文についてもメモ。

  • 索引を削除しても元の表は残る。
  • 逆に表を削除した時は、その表の索引は削除される。
  • 主キー制約、一意キー制約によって自動作成された索引は、DROP INDEX文で削除できない。制約を削除するor制約を無効にすると自動削除される。