2010-12-07 9 views
9

OracleのテーブルFK削除ルールを変更して削除してからもう一度追加する方法はありますか?私は現在使用しているOracleのFK削除ルールを削除して再作成せずに変更しますか?

:あなたが見ることができるように

alter table A 
drop constraint my_fk; 

alter table A 
add constraint my_fk 
foreign key (id) 
references B(id) 
ON DELETE SET NULL; 

を、私はすでにFK制約を持っているが、それはそれに何の削除規則がありませんでした。私はちょうどON DELETE SET NULLルールを追加したいと思います。これはこれまでのところ思いついたものですが、もっとシンプルにすべきだと感じています。

答えて

7

ドロップと再作成の制約を除いて、他の方法はありません。 Oracleには構文ALTER TABLE x MODIFY CONSTRAINTがありますが、制約の変更状態でのみ使用できます。

http://download.oracle.com/docs/cd/B28359_01/server.111/b28286/statements_3001.htm

+0

いいえ、私はそのままにしておきます。ありがとう! – Greg

+0

なぜそれを落として再作成することに懸念があるのですか? –

+0

@AdamMusch(年後)私はコードをDRYにして、間違いを避けたいと思う(後で紹介する制約を再追加するのを忘れるなど) – Greg

関連する問題