In Oracle deferred constraints are checked only at the point of commit.
What is the meaning of DEFERRABLE clause in a case of NOT NULL constraint? For example
create table test(a number not null deferrable, b number);
insert into test(a,b) values (222, 111);
commit;
After these statements I thought the following code would work
update test set a = null where b = 111;
delete test where b = 111;
commit;
But it doesn't.
What is the difference between two definitions?
create table test1(a number not null deferrable, b number);
create table test2(a number not null, b number);