4
我試圖根據CSV文件更新表格。我有CSV列表的ID和修剪號碼,我需要根據SQL表格中的特定ID更新修剪號碼。基於CSV的批量插入更新列SQL
到目前爲止劇本我寫
-- Create a temporary table for the import
drop table #InterpreterTrimNumbers
CREATE TABLE #InterpreterTrimNumbers(
[SAPInterpreterId] int,
TempTrimNumber varchar(100)
)
BEGIN TRANSACTION
-- Bulk import into the temporary table
BULK INSERT #InterpreterTrimNumbers FROM 'C:\CSVData\Trim numbers.csv' WITH (
FIRSTROW = 2,
FIELDTERMINATOR = ',',
ROWTERMINATOR = '\n',
ERRORFILE = 'C:\CSVData\Trim numbers-errors.csv',
TABLOCK
)
update Interpreters set TrimNumber = (select TempTrimNumber from #InterpreterTrimNumbers where #InterpreterTrimNumbers.SAPInterpreterId = Interpreters.SAPInterpreterID)
Commit Transaction
這一個返回受影響的1824行甚至認爲CSV文件只得到了110條記錄。我只想用特定的SAPInterpreterID更新記錄
任何幫助表示讚賞。
我得到110條記錄,是的,ID是唯一的。 –
我只是好奇..甚至我執行的查詢更新相關記錄,似乎工作正常。但它顯示更新記錄的數量不正確。你知道爲什麼會發生這種情況嗎? –
其實我的CSV文件已經從實際的表中獲得了一組記錄。這是一對一的。但是當我在解釋器上運行我的查詢時,它們不在csv中,但在SQL表中有修剪號。注意到通過運行該查詢,修剪號被設置爲空。它可能會把整個事情搞砸在現場服務器上。你救了我的生命..乾杯:) –