title: BEGIN - END block atomic transactions in PL/SQL
body: <p>This information should be easy to find, but I haven't had any luck.</p>
  
  <p>When I have a <code>BEGIN - END</code> block in a PL/SQL, does it behave as an atomic transaction, that will try to commit on hitting the <code>END</code> block and if anything goes wrong rolls back the changes?</p>
  
  <p>If not, how do I make sure that the code inside the BEGIN - END block behaves like an atomic transaction and how does the block behave "by default"?</p>
  
  <p>EDIT: I am running from a stored procedure and I am using an implicit block, I think.</p>