title: Are two UPDATE statements in same BEGIN-END block executed at the exact same time?
body: <p>If I have a table as follows:</p>
  
  <pre><code>CID COLUMN1
  1   Joe
  2   John
  </code></pre>
  
  <p>And I run the following code below. Could a Select statement be executed (at some inopportune precise millisecond about half way through the running of my code) that would return COLUMN1 = John for BOTH rows in the table? Or would Oracle run both update statements in my code "together" so to speak, so this could NEVER happen.</p>
  
  <pre><code>string sqlStr = @"Begin
                Update TABLE1 set COLUMN1 = 'John' where CID = 1;
                Update TABLE1 set COLUMN1 = 'Joe' where CID = 2;
                End;";
  
  OracleConnection conn = new OracleConnection(oracle_connstr);
  OracleCommand cmd = new OracleCommand(sqlStr, conn);
  try
  {
          conn.Open();
          cmd.ExecuteNonQuery();
  }
  catch (Exception ex)
  {
  
  }
  finally
  {
          if (cmd != null) cmd.Dispose();
          if (conn != null) conn.Dispose();
  }
  </code></pre>