如何在 Oracle PL/SQL 中编写此数据库比较?
Posted
技术标签:
【中文标题】如何在 Oracle PL/SQL 中编写此数据库比较?【英文标题】:How do I write this database comparison in Oracle PL/SQL? 【发布时间】:2010-08-26 16:07:17 【问题描述】:给定数据库 x、y 和匹配的模式:
//for all entries in x.MY_TABLE
// if PRIMARY_KEY of entry exists in y.MY_TABLE
// if data of entry in x doesn't match data of matching entry in y
// print PRIMARY_KEY
// else
// print PRIMARY_KEY
假设表是一个简单的系统,最多有一个 2 列的主键。
【问题讨论】:
【参考方案1】:因此,您需要 x
中所有主键的列表,除非键和数据(即整行)相同。我认为应该这样做。
SELECT PRIMARY_KEY
FROM
(
SELECT * FROM x.MY_TABLE
MINUS
SELECT * FROM y.MY_TABLE
) T;
【讨论】:
SQL 错误:ORA-00933:SQL 命令未正确结束 00933. 00000 -“SQL 命令未正确结束 @deworde - 我将原来的EXCEPT
更改为 MINUS
这只是括号内定义的派生表的别名。以上是关于如何在 Oracle PL/SQL 中编写此数据库比较?的主要内容,如果未能解决你的问题,请参考以下文章
在 ubuntu 的 Oracle Sql 中,如何打开编辑器来编写 PL/SQL?
我可以在 oracle pl/sql developer 中使用此代码吗
如何在 Oracle PL/SQL 过程的开始部分之后声明游标