title: How does Oracle SQL resolve naming conflicts between synonyms and tables?
body: <p>I have a public synonym on my server for transactions:  However I'd like to be able to work with my own local version of the table, so as not to disturb other users.  </p>
  
  <p>Does Oracle's SQL resolve naming conflicts like this in a predictable fashion?  </p>
  
  <p>In other words, if another user creates a public synonym called <code>TRANSACTION</code> and I do this:</p>
  
  <pre><code>CREATE TABLE TRANSACTION (
  
  ID NUMBER
  
  );
  </code></pre>
  
  <p>When I write</p>
  
  <pre><code>select * from TRANSACTION
  </code></pre>
  
  <p>Do I have any guarantee that Oracle will always resolve the synonym or my local table? </p>
  
  <p>(I know I could technically specify <code>schema.TRANSACTION</code> to force the issue, but in my case that would require me to modify/rebuild an application and I'm hoping to save some work.)</p>