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-Key: 466548

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

Printed on: April 20, 2024 at 01:04 o'clock

Member: sabines
sabines Jun 27, 2019 at 06:54:15 (UTC)
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
Member: DocuSnap-Dude
DocuSnap-Dude Jun 27, 2019 at 08:20:18 (UTC)
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.
Member: eisbein
Solution eisbein Jun 27, 2019 at 08:59:59 (UTC)
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
Member: DocuSnap-Dude
DocuSnap-Dude Jun 27, 2019 at 11:30:32 (UTC)
Goto Top
Danke dir. Genau so!
Member: ukulele-7
ukulele-7 Jun 28, 2019 at 07:27:08 (UTC)
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 ...