Ich versuche, in eine neue Tabelle aus der hochgeladenen Datei Bulk einzufügen, aber ich möchte auch eine Daten aus anderen Tabelle mit linken Join einfügen, können Sie überprüfen, was ist falsch mit meiner Abfrage?SQL Server Bulk einfügen linken Join
INSERT INTO gen048_ACCNUMS (accnum)
SELECT DISTINCT REPLACE(dbo.fn_Parsename(WHOLEROW,'|',10), CHAR(9), '')
FROM #temp1
set @sql = '
INSERT INTO '[email protected]+' (ftype, ccode, refdate, dupload, accname, add1, add2, zip, add3, add4, add5, accdate, book, solcode)
SELECT
''GEN048'',
'''',
('[email protected]+'),
(SELECT CONVERT(VARCHAR(12),GETDATE(), 101)),
dbo.fn_Parsename(WHOLEROW,''|'',0),
dbo.fn_Parsename(WHOLEROW,''|'',1),
dbo.fn_Parsename(WHOLEROW,''|'',2),
dbo.fn_Parsename(WHOLEROW,''|'',3),
dbo.fn_Parsename(WHOLEROW,''|'',4),
dbo.fn_Parsename(WHOLEROW,''|'',5),
dbo.fn_Parsename(WHOLEROW,''|'',6),
dbo.fn_Parsename(WHOLEROW,''|'',7),
(select substring(dbo.fn_Parsename(WHOLEROW,''|'',8), 1, 1)),
(select substring(dbo.fn_Parsename(WHOLEROW,''|'',8), 1, 3)),
(SELECT branch
FROM '[email protected]+'
LEFT JOIN BRANCH_LIST ON '[email protected]+'.solcode = BRANCH_LIST.solcode)
FROM #temp1'
print @sql
exec (@sql)
SELECT 'File has been successfully uploaded', @fileDate,'success' as msg
END
Dies ist die SQL-Nachricht
VON # temp1 Subquery mehr als 1 Wert zurückgegeben. Dies ist nicht zulässig, wenn die Unterabfrage folgt =,! =, <, < =,>,> = oder wenn die Unterabfrage als Ausdruck verwendet wird.
Wird ein Fehler erzeugt? Tut es das Falsche? –
können Sie auch die Ausgabe von 'print @ sql' veröffentlichen? – Squirrel
Ohne uns die genaue Problem/Fehlermeldung zu sagen, ist es schwer für uns, Ihnen zu helfen. – Greg