作为非 DBA 用户,我如何将脚本传递给在他们自己的 Schema 中工作的其他用户?
As a non-DBA user, how can I pass on scripts to other users that work in their own Schema?
这是我的情况。我是 Oracle 数据库中的非 DBA 用户。因此,我只有我自己的 Schema 的 DDL 和 DML 权限,所以我只能为我自己的 Schema 中的表创建、删除、更新等。
假设我编写了一个脚本,用于在我自己的模式(我们称之为模式 USER1)中创建和更新表。当我离开公司并需要将此脚本传递给我的替代者(假设是 USER2)的那一天到来时,如果该脚本仅适用于 USER1,我该怎么做? USER2 真的必须通过我的脚本并将 USER1 的所有引用替换为 USER2 吗?
要点是,我真的希望我的脚本能够正常工作,而不管用户运行它而不必修改它。
首先,如果它是为应用程序创建表并操作其数据的生产脚本,它可能不应该来自您自己的用户,而应该来自某些专门的生产用户。
无论如何,如果您运行在自己的模式中使用脚本,则不需要显式引用它。只需删除对该架构的引用,所有对象都将在用户 运行 下创建,这意味着任何用户都可以从他自己的帐户 运行 它(假设它具有基本的 DML/DDL 脚本需要的权限)。
这是我的情况。我是 Oracle 数据库中的非 DBA 用户。因此,我只有我自己的 Schema 的 DDL 和 DML 权限,所以我只能为我自己的 Schema 中的表创建、删除、更新等。
假设我编写了一个脚本,用于在我自己的模式(我们称之为模式 USER1)中创建和更新表。当我离开公司并需要将此脚本传递给我的替代者(假设是 USER2)的那一天到来时,如果该脚本仅适用于 USER1,我该怎么做? USER2 真的必须通过我的脚本并将 USER1 的所有引用替换为 USER2 吗?
要点是,我真的希望我的脚本能够正常工作,而不管用户运行它而不必修改它。
首先,如果它是为应用程序创建表并操作其数据的生产脚本,它可能不应该来自您自己的用户,而应该来自某些专门的生产用户。
无论如何,如果您运行在自己的模式中使用脚本,则不需要显式引用它。只需删除对该架构的引用,所有对象都将在用户 运行 下创建,这意味着任何用户都可以从他自己的帐户 运行 它(假设它具有基本的 DML/DDL 脚本需要的权限)。