Gewusst wie: vergleichen von zwei Tabellen-Spalte um Spalte in oracle
Habe ich zwei ähnliche Tabellen in oracle in zwei verschiedenen Datenbanken.
Zum Beispiel : meine Tabelle namens EMPLOYEE und primary key ist die Mitarbeiter-id. Die gleiche Tabelle mit den gleichen Spalten(sagen wir 50 Spalten ist avlbl in zwei Datenbanken und zwei Datenbanken miteinander verknüpft sind.
Möchte ich den Vergleich dieser beiden Tabellen-Spalte durch die Spalte und finden Sie heraus, welche Datensätze sind, die nicht zusammenpassen. ich möchte die spezifischen Spalte in jeder Zeile in beiden Tabellen nicht übereinstimmen.
- Warum ist die Antwort akzeptabel? Es nicht, der schwierigste Teil ist um die Spalte festzulegen, ist nicht passend.
Du musst angemeldet sein, um einen Kommentar abzugeben.
sollten den trick tun, wenn Sie möchten, um dieses Problem zu lösen mit einer Abfrage
Als eine alternative, die spart von der vollständigen überprüfung jeder Tabelle zweimal und gibt Ihnen auch eine einfache Möglichkeit zu sagen, die Tabelle mehr Zeilen, die mit einer Kombination von Werten als die andere:
Kredit geht hier: http://asktom.oracle.com/pls/apex/f?p=100:11:0::::P11_QUESTION_ID:1417403971710
Versuchen zu verwenden 3rd-party-tool, wie SQL Data Examiner die vergleicht, Oracle-Datenbanken und zeigt Sie Unterschiede.
Es wird nicht schnell sein, und es wird eine Menge für Sie zu geben (es sei denn, Sie generieren die SQL-from user_tab_columns), aber hier ist was ich benutze, wenn ich zum vergleichen von zwei Tabellen Zeile für Zeile und Spalte für Spalte.
Die Abfrage alle Zeilen, die
(gemeinsame identische Zeilen ausgeschlossen werden).
"PK" ist die Spalte(N), make up your primary key.
"a" enthalten, wenn der vorliegende Datensatz existiert in Tabelle1.
"b" enthalten wird, B wenn die gegenwärtige Zeile vorhanden in Tabelle2.
Bearbeiten
Hinzugefügt Beispiel-code zu zeigen, den Unterschied beschrieben im Kommentar.
Immer, wenn einer der Werte NULL enthält, wird das Ergebnis anders sein wird.
Mithilfe der
minus
operator arbeitete, aber es war auch die Zeit zu nehmen, führen, die nicht akzeptabel war.Ich habe eine ähnliche Art von Anforderung für die Daten-migration und ich die
NOT IN
Betreiber für das.Die modifizierte Abfrage :
Dieser Abfrage wird schnell ausgeführt. Auch Sie können eine beliebige Anzahl von Spalten in der select-Abfrage.
Einziger Haken ist, dass beide Tabellen haben sollte, die genau die gleiche Tabellenstruktur für diese ausgeführt werden.