我正在尝试根据CSV文件更新表格。我有CSV列表的Id和修剪编号,我需要根据SQL表中的特定ID更新修剪编号。
到目前为止我编写的脚本
-- 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
即使CSV文件只有110条记录,这一行也会返回1824行。我只想用特定的SAPInterpreterID
更新记录感谢任何帮助。
答案 0 :(得分:6)
假设您只有110个记录插入临时表,而且这些ID在Interpreters表中是唯一的,那么这个语法应该是这样的
UPDATE i
SET TrimNumber = tempintr.TempTrimNumber
FROM Interpreters AS i INNER JOIN
#InterpreterTrimNumbers tempintr
ON i.TrimNumber= tempintr.TempTrimNumber
您的查询无法正常工作的原因是因为它试图更新Interpreters表中的每个数字。如果与临时表匹配,那么这就是您所需要的。但是当没有匹配时,您的查询将返回NULL
,导致不匹配的记录更新为NULL
。
答案 1 :(得分:0)
Bigip_devices = {
main_hub = {
region = "eastus"
azs = ["1"] #Azure availabilty zones
vnet_name = "vnet-main" # Vnet name to deploy to
bigip_instance_count = 2 # Number of instnaces to delpoy
cluster = "yes" # Deploy as a cluster or stand alone device
version = "" # Leave blank for default value
sku = "" # Leave blank for default value - f5-bigip-virtual-edition-25m-best-hourly
offer = "" # Leave blank for default value - f5-big-ip-best
instance_type = "" # Leave blank for default value - Standard_DS3_v2
disable_password_authentication = "" #Leave blank for default value
tags = ""
}
spoke = {
region = "eastus"
azs = ["1","2"] #Azure availabilty zones
vnet_name = "vnet-spoke" # Vnet name to deploy to
bigip_instance_count = 4 # Number of instnaces to delpoy
cluster = "yes" # Deploy as a cluster or stand alone device
version = "" # Leave blank for default value
sku = "" # Leave blank for default value - f5-bigip-virtual-edition-25m-best-hourly
offer = "" # Leave blank for default value - f5-big-ip-best
instance_type = "" # Leave blank for default value - Standard_DS3_v2
disable_password_authentication = "" #Leave blank for default value
tags = ""
}
}