gpt4 book ai didi

Oracle:是否可以为模式创建同义词?

转载 作者:行者123 更新时间:2023-12-04 15:04:30 26 4
gpt4 key购买 nike

首先
我是一个 oracle 新手,我没有本地的 oracle 大师来帮助我。
这是我的问题/问题
我有一些 SQL 脚本必须发布到许多 Oracle 实例。
脚本创建存储过程。
创建存储过程的架构与包含存储过程从中读取的表的架构不同。
在不同的实例上,包含表的架构具有不同的名称。
显然,我不想编辑脚本来为不同的实例定制它们。
有人向我建议,解决方案可能是设置同义词。
是否可以为每个实例上的表模式定义同义词,并在我的脚本中使用同义词?
有没有其他方法可以使这项工作无需每次都编辑脚本?
感谢您的任何帮助。

最佳答案

知道什么版本的 Oracle 会有所帮助,但是 as of 10g--No, you can't make a synonym for a schema .
您可以为表创建同义词,这将允许您不在脚本中指定架构。但这意味着同义词必须在每个实例上都相同才能有用......

另一种选择是用变量替换模式引用,因此当脚本运行时,用户会被提示输入模式名称。我更喜欢这种方法,因为它的工作量较少。这是一个适用于 SQLPlus 的示例:

CREATE OR REPLACE &schema1..vw_my_view AS
SELECT *
FROM &&schema2..some_other_table

这样做的好处在于,对于每个变量,运行脚本的人只会被提示一次,而不是每次遇到变量时都会提示。所以要小心打字错误:)

关于Oracle:是否可以为模式创建同义词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3780046/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com