假设我有模式A和B.
在架构A,我想打电话给包X的模式B.但是,B架构中存在一个包A.
A:
package B
B:
package X
Run Code Online (Sandbox Code Playgroud)
当我从架构A调用时:
begin b.x.foo(); end
Run Code Online (Sandbox Code Playgroud)
它X在包中查找过程B,即A.B.X()获得错误.
如何完全限定强制调用B被视为模式名称?
更新:
b.x.foo.CREATE SYNONYM B_X for B.X作品. B_X.foo()调用模式B中的过程.我认为你不能.从PL/SQL用户指南:
"PL/SQL和SQL的名称解析规则是相似的.如果遵循捕获规避规则,可以避免一些差异.为了兼容性,SQL规则比PL/SQL规则更宽松.SQL规则主要是上下文敏感,认识到比PL/SQL规则更合法的情况和DML语句.
上面的第二个子弹适用.由于对象"B"存在于模式A中,因此引用所解析的内容.
| 归档时间: |
|
| 查看次数: |
1621 次 |
| 最近记录: |