【发布时间】:2023-03-15 20:50:01
【问题描述】:
有没有办法只从自己的模式中选择数据,即使有公共同义词?
类似:Select * from current_schema.Table1
更多信息:
我在 schema1 上的 table1 上获得了公共同义词。
现在我有一个选择 table1 的包(在 schema2 上),我想选择 schema2 的 table1 而不是 schema1。
我的问题是,当用户在他的服务器上使用包时,我不会更改标识符。
编辑
我看到我的问题不清楚,我想知道我当前的模式是否有占位符?
目前我需要这样做:
Select * from schema2.Table1
我想要的是这样的:
Select * from MySchema.Table1
或者
Select * from this.Table1
或者
Select * from current_schema.Table1
oracle 中是否存在类似的东西?
【问题讨论】:
-
Tom Kyte would not be being nice to you at the moment。作为一般规则,不要使用公共同义词。你应该有一个非常具体的,好的,这样做的理由。听起来,从您的问题来看,
schema1上的table1和schema2具有相同的名称,因此您将遇到问题,因为您将全局命名空间弄乱了。
标签: sql oracle scope schema synonym