I OPENROWSET
bin mit einer .csv
-Datei in SQL Server für den Import von 2014SQL Server: Datensatz Einfügen, wenn nicht in der Tabelle aus einer Funktion in Select gefunden
Das ist meine Abfrage
SELECT
ufnGetChargeTypeId([Charge Type]) AS ChargeTypeId, [Description]
FROM
OPENROWSET ('MSDASQL',
'Driver={Microsoft Access Text Driver (*.txt, *.csv)}; DBQ=D:\Files\;',
'SELECT * from [myfile.csv]')
[Charge Type]
Spalt Header in der .csv
Datei. ufnGetChargeTypeId
ist eine Funktion, die ChargeTypeId
zurückgibt, wenn sie in Tabelle ChargeType
gefunden wird, die eine Referenztabelle ist.
Funktioniert einwandfrei, wenn [Charge Type]
vorhanden sind. Ich möchte [Charge Type]
in Tabelle einfügen, wenn nicht gefunden und ChargeTypeId
zurückgeben. Benutzerdefinierte Funktionen unterstützen INSERT/UPDATE in der Tabelle nicht.
Eine Lösung ist die Verwendung einer gespeicherten Prozedur, aber ich rufe Funktion in Select
Anweisung, und Sie können nicht gespeicherte Prozedur in Select
Anweisung ausgeführt werden.
Würdest du irgendeine Lösung für mein Problem vorschlagen.
Dump einem Staging-Tabelle und führen Sie dann Vergleiche – TheGameiswar