-1

Oracle SQLでは、制約を遅延VSに設定して制約を無効にすることは、同様の機能を持っているようです。両者の間に大きな違いはありますか?実際のシナリオでそれらの使用法を説明していただければ幸いです。

ありがとう

4

1 に答える 1

3

無効な制約は、データベースで定義されているが、まったく適用されていない制約です。(制約のみを削除するのと同じように、オンに戻す方が簡単です。) 遅延可能については:

http://docs.oracle.com/cd/E18283_01/server.112/e16508/glossary.htm#CHDIBAAA

繰延制約

トランザクションがコミットされるまで SET CONSTRAINT ステートメントが制約チェックを延期できるようにする制約。延期可能な制約を使用すると、制約に違反する可能性のある変更を行っている間、制約を一時的に無効にすることができます。

注目に値する:

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

制約の延期可能性を変更することはできません。これらのパラメーターのいずれかを指定するか、またはどちらも指定しないことで暗黙的に制約を NOT DEFERRABLE にするかに関係なく、ALTER TABLE ステートメントでこの句を指定することはできません。制約を削除して再作成する必要があります。

于 2013-08-16T20:43:31.653 に答える