Unterschied zwischen 2 Tabellen ermitteln

Um den Unterschied zweier Tabelle zu ermitteln, kann man das folgende Script verwenden. Es wird dabei nicht die Struktur, sondern der Inhalt vergleichen.

SELECT 'tabelle1' Tabelle, a.* FROM (
SELECT * FROM tabelle1
EXCEPT
SELECT * FROM tabelle2
) a
UNION
SELECT 'tabelle2' Tabelle, b.* FROM (
SELECT * FROM tabelle2
EXCEPT
SELECT * FROM tabelle1
) b

Getestet habe ich das ganze mit MSSQL Server 2005, also TSQL. Grundsätzlich sollte das ganze aber auch in anderen Dialekten funktionieren. Bei Oracle muss bspw. EXCEPT durch MINUS ersetzt werden.

Comments are closed.