docusnap-dude
Goto Top

MS-SQL Tabelle in andere tabelle als Update einfügen (tSQL)

Moin,

ich habe eine Datenbank (Example-DB).

Dort ist eine Temporäre Tabelle, welche automatisch aus einem BULK-Import aus einer CSV-Tabelle aufgefüllt wird (Regelmäßig Abends). Vor dem Import wird diese per DROP Table gelöscht, quasi jeden Abend frisch und leer erzeugt. Tabelle ist "dbo.Import_Temp"

Jetzt möchte ich Nachts alle Spalten und Zeilen aus dieser "dbo.Import_Temp" in die eigentliche zieltabelle ("dbo.Target") importieren als Update. Neue Daten aber hinzufügen.

Wie geht man vor? Spaltenformate sind identisch.

Danke für Hilfe.

F.

Content-ID: 466548

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

Ausgedruckt am: 19.11.2024 um 09:11 Uhr

sabines
sabines 27.06.2019 um 08:54:15 Uhr
Goto Top
Zitat von @DocuSnap-Dude:

Jetzt möchte ich Nachts alle Spalten und Zeilen aus dieser "dbo.Import_Temp" in die eigentliche zieltabelle ("dbo.Target") importieren als Update.

Moin,

was denn nun?
Alles Importierten -> insert
Neue Importierten -> inserte mit subselect oder join
Bestehene aktualisieren -> Update mit subselect oder join

Gruss
DocuSnap-Dude
DocuSnap-Dude 27.06.2019 um 10:20:18 Uhr
Goto Top
Hi,


danke dir vorab, hier Detailinfo:

Alles Importierten -> insert
ok, erstimport in leere zieldatenbank

Neue Importierten -> inserte mit subselect oder join
Hast du mal kleines Beispiel dafür? Nehmen wir an ich hab 2 Spalten "Personalnummer" und "Nachname"...

Bestehene aktualisieren -> Update mit subselect oder join
Auch hier am Beispiel "Personalnummer" und "Nachname"... wenn "Personalummer" bleibt und sich "Nachname" (wegen Heirat) ändert

Ich habe halt noch nicht so Komplex mit SQL geackert. Daher die Frage.
eisbein
Lösung eisbein 27.06.2019 um 10:59:59 Uhr
Goto Top
Hallo,

Klingt als wäre MERGE das passende Stichwort für dich:

https://docs.microsoft.com/en-us/sql/t-sql/statements/merge-transact-sql ...

Gruß
eisbein
DocuSnap-Dude
DocuSnap-Dude 27.06.2019 um 13:30:32 Uhr
Goto Top
Danke dir. Genau so!
ukulele-7
ukulele-7 28.06.2019 um 09:27:08 Uhr
Goto Top
MERGE ist dafür gut aber ich hatte auch einen Fall wo MERGE gescheitert ist, leider kann ich nicht mehr genau sagen warum. Teste es also gründlich, einen Trigger hat die Zieltabelle nicht oder?

Ansonsten hier ein guter Link:
https://www.mssqltips.com/sqlservertip/1704/using-merge-in-sql-server-to ...