【问题标题】:How do I write this database comparison in Oracle PL/SQL?如何在 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 列的主键。

【问题讨论】:

    标签: sql oracle select plsql


    【解决方案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
    • 这只是括号内定义的派生表的别名。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-04-26
    • 2011-11-09
    • 2017-07-17
    • 1970-01-01
    • 2017-11-13
    • 1970-01-01
    • 2011-03-27
    相关资源
    最近更新 更多