title: Oracle: disambiguate between table and schema name
body: <p>Suppose I have schemas <code>A</code> and <code>B</code>.</p>
  
  <p>In schema <code>A</code> I would like to call package <code>X</code> in schema <code>B</code>.  However, there exists a package <code>B</code> in schema <code>A</code>.</p>
  
  <pre><code>A:
      package B
  B:
      package X
  </code></pre>
  
  <p>When I call from schema A:</p>
  
  <pre><code>begin b.x.foo(); end
  </code></pre>
  
  <p>it looks for procedure <code>X</code> in package <code>B</code>, i.e. <code>A.B.X()</code>, and gets an error.</p>
  
  <p>How can I fully qualify the call to force <code>B</code> to be considered a schema name?</p>
  
  <p><strong>update:</strong></p>
  
  <ul>
  <li>It does seem there's no way to scope the reference to refer to <code>b.x.foo</code>.</li>
  <li><code>CREATE SYNONYM B_X for B.X</code> works.  <code>B_X.foo()</code> calls the procedure in schema B.</li>
  </ul>