【发布时间】:2018-02-22 14:58:34
【问题描述】:
这是我的情况。我是 Oracle 数据库中的非 DBA 用户。因此,我只有自己的 Schema 的 DDL 和 DML 权限,所以我只能对自己的 Schema 中的表进行创建、删除、更新等操作。
假设我编写了一个脚本,在我自己的架构中创建和更新表(我们将架构称为 USER1)。当我离开公司并需要将此脚本传递给我的替代者(假设是 USER2)时,如果该脚本仅适用于 USER1,我该怎么做? USER2 真的必须通过我的脚本并将 USER1 的所有引用替换为 USER2 吗?
我真的希望我的脚本能够运行,无论用户运行它,而不必修改它。
【问题讨论】:
-
为什么要在脚本中添加模式名称?删除它,脚本将在登录用户的上下文中运行。
-
感谢您的帮助。我明白你在说什么。那么在脚本中省略架构将始终使用用户的架构(又名登录架构)?我的理解是它使用了用户设置为默认的模式,这可能不一定是他们的登录模式。
-
My understanding was that it used the Schema that the user had set as their default- 是的,你是对的。只需告诉用户不要切换架构。告诉他,如果他切换架构,脚本将会中断并且将无法工作。就是这样。 -
这是有道理的,这就是我要做的。谢谢大家的帮助。