Oracle
 sql >> Database >  >> RDS >> Oracle

colonna non nulla rinviabile

Ci sono due opzioni qui. O devi impostare il vincolo da differire all'interno della transazione utilizzando il comando mostrato di seguito

SET CONSTRAINTS ALL DEFERRED;

Questo dovrebbe essere eseguito prima di eseguire UPDATE affermazione che hai definito.

In alternativa, puoi impostare il vincolo su INITIALLY DEFERRED nella definizione della tabella

create table test(a number not null initially deferred deferrable, b number);

Dopo aver eseguito una di queste operazioni, dovresti essere in grado di eseguire il DML che hai nella domanda.