这是我的情况。我是Oracle数据库中的非DBA用户。因此,我只拥有自己的Schema的DDL和DML权限,因此我只能在自己的Schema中为表创建,删除,更新等。
因此,假设我编写了一个脚本,用于在我自己的Schema中创建和更新表(让我们调用Schema USER1)。当我离开公司并需要将此脚本传递给我的替代品(比如说USER2)时,如果脚本仅适用于USER1,我该怎么做呢? USER2是否真的必须通过我的脚本并用USER2替换USER1的所有引用?
重点是我真的希望我的脚本能够运行,无论用户运行它而不必修改它。
答案 0 :(得分:2)
首先,如果它是为应用程序创建表并操纵它的数据的生产脚本,它可能不应该从您自己的用户运行,而是从某个专用生产用户运行。 / p>
无论如何,如果您在自己的架构中运行脚本,则不需要明确引用它。只需删除对模式的引用,所有对象都将在运行它的用户下创建,这意味着任何用户都可以从他自己的帐户运行它(假设它具有脚本所需的基本DML / DDL权限)。