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