ここには2つのオプションがあります。以下に示すコマンドを使用して、トランザクション内で延期される制約を設定する必要があります
SET CONSTRAINTS ALL DEFERRED;
これは、UPDATE
を実行する前に実行する必要があります 定義したステートメント。
または、制約をINITIALLY DEFERRED
に設定することもできます。 テーブル定義内
create table test(a number not null initially deferred deferrable, b number);
これらのいずれかを実行すると、質問にあるDMLを実行できるようになります。