freggeln

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.