title: Why I do not need semicolon after some of Oracle SQL commands?
body: <p>I encountered interesting behavior in SQL*Developer. Since I am preping to an exam I would like to understand some inconsistencies related to requirement of semicolons.</p>
  
  <p>As you know - Oracle DB in their documentation seems very strict about usage of their semicolons and terminating statments. Yet some of the commands do not require semicolons at all.
  Why is it that?</p>
  
  <p>DML: -- have to have a semicolons:</p>
  
  <pre><code>SELECT .... FROM ...; -- has to have a semicolon
  CREATE TABLE x (...); -- has to have a semicolon
  </code></pre>
  
  <p>TCL: -- do not require semicolons:</p>
  
  <pre><code>SAVEPOINT
  ROLLBACK
  </code></pre>
  
  <p>SQL*Plus:</p>
  
  <pre><code>DESC TABLE tab1 -- does not require semicolons.
  </code></pre>
  
  <p>Why is it so inconsistent [at least in SQL*Developer] and what is the rule here?</p>