Oracle 12cデータベースを使用していて、1つの問題をテストします。Oracle FKの制約が適用されていません
Webサービス要求を実行すると、制約名(YYY.FK_L_TILSYNSOBJEKT_BEGRENSNING)に基になるORA-02292エラーが戻されます。ここ は、制約を持つテーブルのSQLです:
CONSTRAINT "FK_L_TILSYNSOBJEKT_BEGRENSNING" FOREIGN KEY ("BEGRENSNING")
REFERENCES "XXX"."BEGRENSNING" ("IDSTRING") DEFERRABLE INITIALLY DEFERRED ENABLE NOVALIDATE
問題は、私は親テーブルから(両方のテーブルで)有効IDSTRINGで手動で行を削除しようとすること、である - それが正常にそれをしません。
このように動作する原因は何ですか?私が与えるべき他の情報はありますか?
Plsは「成功しますか」を定義します。あなたの制約は延期可能であり、実際には最初は延期されていることに注意してください。 –
@ErwinSmout - 単に行を削除するだけですが、遅延が何をするのかは分かりません。今度はそれを読む – Medardas
'最初に延期されました 'は、**トランザクション**の終わりに制約をチェックする必要があることを意味します。これは一般的に、 'DELETE'、' INSERT'、 'UPDATE'などを持つことができることを意味し、制約は' COMMIT'(またはDDL文の実行やセッションからの切断など)を発行したときにのみチェックされます。あなたは 'COMMIT'でも生き残ったという点で' DELETE'が成功したと言っていますか?それは奇妙です。 – mathguy