【发布时间】:2019-02-19 21:10:21
【问题描述】:
我想引用另一个模式中的多个表,而不需要模式前缀或更改会话。
我有以下查询 -
Select * from schema1.app_table
在具有架构前缀的包中有多个这样的查询。
我必须将表导出到不同的架构。我真的不想更改所有包中的模式前缀。
我尝试了同义词,但不幸的是它不起作用。
【问题讨论】:
我想引用另一个模式中的多个表,而不需要模式前缀或更改会话。
我有以下查询 -
Select * from schema1.app_table
在具有架构前缀的包中有多个这样的查询。
我必须将表导出到不同的架构。我真的不想更改所有包中的模式前缀。
我尝试了同义词,但不幸的是它不起作用。
【问题讨论】:
没有魔法。
您正在更改表所在的架构。 请注意我对“改变”一词的使用。 这意味着您必须“更改”引用表的所有内容。
如果你讨厌质量, 你可以试试这个:在旧模式中创建一个引用新模式中的表的同义词。 在你的例子中, 让我们将新模式称为“blammySchema”,我们将表称为“kapow”。
这里有一些步骤:
这是一个同义词示例:
create synonym schema1.kapow for blammySchema.kapow
创建所有同义词后, 重新编译你的包。
【讨论】: