Search notes:

Oracle: Deferrable constraints

create table tq84_P (
   id    number,
   txt   varchar2(10),
   --
   constraint tq84_pk primary key (id)
);

create table tq84_C (
   id_p   number,
   val    number,
   --
   constraint tq84_fk foreign key (id_p) references tq84_P deferrable
);



begin
insert into tq84_P values (1, 'one');
insert into tq84_P values (2, 'two');

insert into tq84_C values (1,  11.1);
insert into tq84_C values (1,  10  );
commit;
end;
/
--
-- PL/SQL procedure successfully completed.

set constraint tq84_fk deferred;
--
-- Constraint TQ84_FK succeeded.
--


update tq84_P set id   = 3, txt = 'three' where id  =  2;

commit;

insert into tq84_C values (999, 999);
--
-- ORA-02291: integrity constraint (RENE.TQ84_FK) violated - parent key not found
--


drop   table tq84_C;
drop   table tq84_P;

See also

constraint

Index