Zitat von
oldie:
Delphi-Quellcode:
MERGE AdsTabZiel AS ta USING AdsTabQuelle AS tb ON ( ta.Index = tb.Index)
WHEN NOT MATCHED THEN INSERT (Index , Name) VALUES (tb.Index+ tb.Name)
WHEN MATCHED THEN UPDATE SET ta.Index = tb.Index
In der Insert Anweisung sprichst du die Felder
Index und
Name an
INSERT (Index , Name)
übergibst dann aber im Values Teil nur einen Wert
(tb.Index+ tb.Name)
Wenn Index und Name in 2 Felder sollen, dann müsste das so aussehen
(tb.Index, tb.Name)
und insgesamt dann so
SQL-Code:
MERGE AdsTabZiel AS ta USING AdsTabQuelle AS tb ON ( ta.Index = tb.Index)
WHEN NOT MATCHED THEN INSERT (Index , Name) VALUES (tb.Index, tb.Name)
WHEN MATCHED THEN UPDATE SET ta.Index = tb.Index
Wobei ich noch denke, dass die Update Anweisung
UPDATE SET ta.Name = tb.Name
heissen sollte oder? Das ist aber eine inhaltliche Sache und sollte mit der Ausführbarkeit der gesamten Anweisung nichts zu tun haben.
Tobias