lichtand
Goto Top

Skript zum Datenabgleich zweier Tabellenspalten aus versch. Datenbanken

Hallo,

ich stehe vor folgendem Problem:

Ich habe eine Datenbank (DB_QUELLE), in der Werte einer bestimmten Spalte (COL_QUELLE) einer Tabelle (TAB_QUELLE) von einem Sachbearbeiter regelmäßig gepflegt werden. Aus dieser Spalte möchte ich eine Spalte einer Tabelle einer anderen Datenbank
(DB_ZIEL.TAB_ZIEL.COL_ZIEL) regelmäßig per Skript aktualisieren.

Hierbei soll geprüft werden ob der Wert in der Zielspalte bereits existiert.
Wenn er bereits vorhanden ist, soll nichts passieren.
Wenn der Wert noch nicht vorhanden ist soll er erstellt werden

Beispiel:

Werte aus der Quellspalte:

22
23


Werte der Zielspalte (vor Skriptaufruf):

21
22

Werte der Zielspalte (nach Skriptaufruf):

21
22
23

Kann mir hierfür jemand eine stichwortartige Empfehlung für die Vorgehensweise geben?

Vielen Dank,

LichtAnd

Content-Key: 63896

Url: https://administrator.de/contentid/63896

Printed on: April 16, 2024 at 18:04 o'clock

Member: AndreasHoster
AndreasHoster Jul 16, 2007 at 14:16:39 (UTC)
Goto Top
Ich sehe das richtig, es gibt keine weiteren Schlüssel, die diese 2 Tabellen irgendwie miteinander verknüpfen?
Dann sieht das in etwa so aus (Tab1 = Quelle, Tab2 = Ziel):
INSERT INTO Tab2 ( Test2 )
SELECT Tab1.Test1
FROM Tab1
WHERE test1 not in (select test2 from Tab2);

Allerdings kann das langsam werden bei vielen Datensätzen, da kann es schneller sein die Spalte in TAB2 zum Primärschlüssel zu machen und die Fehlermeldungen das eine Verletzung des Primarschlüssels vorkommt zu ignorieren.