deworde
deworde

Reputation: 2789

How do I write this database comparison in Oracle PL/SQL?

Given databases x, y with matching schemas:

//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

Assume that the table is a simple system with at most a 2-column primary key.

Upvotes: 0

Views: 135

Answers (1)

Martin Smith
Martin Smith

Reputation: 453202

So you want a list of all primary keys in x unless the key and data (i.e. the entire row) is the same. I think this should do it.

SELECT PRIMARY_KEY
FROM
(
SELECT * FROM x.MY_TABLE
MINUS
SELECT * FROM y.MY_TABLE
) T;

Upvotes: 3

Related Questions