使用 ant 执行使用位于 2 个不同 Oracle 模式中的表的 SQL
Posted
技术标签:
【中文标题】使用 ant 执行使用位于 2 个不同 Oracle 模式中的表的 SQL【英文标题】:Use ant to execute SQL that uses tables that reside in 2 different Oracle schemas 【发布时间】:2015-03-31 15:39:11 【问题描述】:我必须自动执行一个使用位于两个不同 Oracle 模式中的表的 sql 脚本。有人建议我使用 ant 来完成这项任务。真的可以用蚂蚁做到这一点吗?目前,我们正在使用 SQL 开发人员来完成这项任务。
SQL 任务如下所示: 更新 schema1.table1 jb 设置 jb.id=值 jb.another_id 在哪里(选择 wrd.proc_inst_id_ 来自 schema1.table2 wrd wrd.long_ in (一组值));
其中值由 schema1 中的表上的 select 确定 一组值是通过从 schema2 中的表上选择来确定的
这两个模式驻留在同一个 Oracle 实例中。
【问题讨论】:
您在答案中尝试了我的建议吗?我编辑了我的答案。 谢谢拉利特,授予权限可以解决问题。另一种方法是创建数据库链接。 好的,感谢您的反馈。请将答案标记为已回答,这将有助于其他人寻找类似的解决方案。 顺便说一下,两个模式之间不需要dblink,两个不同的数据库之间需要它。您没有提到它们是不同的数据库。你所说的只是它们是不同的模式。 【参考方案1】:目前,我们正在使用 SQL developer 来完成这项任务。
无论您使用何种工具,您只需要 PRIVILEGE 即可访问/操作不同 SCHEMAS 中的 TABLES。无论您是在桌面上执行 SELECT 还是任何 DML,您的问题都没有详细说明。所以,我没有深入了解细节。
例如,仅对表进行选择,您需要授予选择权限:
GRANT SELECT ON table_name to user_name
同样,要对其他架构中的表执行任何类型的 DML,您需要向用户授予所需的权限..
如果您有权限,您只需按以下方式访问表:
SCHEMA_NAME.TABLE_NAME
【讨论】:
以上是关于使用 ant 执行使用位于 2 个不同 Oracle 模式中的表的 SQL的主要内容,如果未能解决你的问题,请参考以下文章