cor*_*nia 1 sql sql-server csv
我正在运行 SQL Server 2012,并且有一个包含大约 20,000 个条目的数据库。我需要更新其中大约 5,000 个的几列。
我有 csv 中的列,它基本上如下所示:
ClientNumber ClientName TaxYear OutputFileField
9455 James Bond and Company 2016 \local\cndps\93985.esx
Run Code Online (Sandbox Code Playgroud)
我需要根据第 4 列匹配更新前 3 列
例如,我需要将上面的内容更新为
ClientNumber ClientName TaxYear OutputFileField
1111 Luis Fandora 2044 \local\cndps\93985.esx
Run Code Online (Sandbox Code Playgroud)
我尝试通过 SQL Server Management Studio 导入,但这不起作用。
任何帮助,将不胜感激。
就像@Shreyas Chavan 建议的那样,你可以这样做:
创建临时表并加载新的电子表格数据。
接下来,将现有表连接到第四个字段 ( OutputField) 上的临时表。
根据该连接更新前三列。
这是示例代码:
CREATE TABLE #ClientInfo(
ClientNumber int NOT NULL,
ClientName nvarchar(255) NULL,
Tax_Year int NULL,
OutputField nvarchar(255) NULL)
GO
BULK INSERT #ClientInfo
FROM 'C:\Documents and Settings\corewania\Desktop\ClientInfo.csv'
--change this to match your directory
WITH(
FIELDTERMINATOR = ',',
ROWTERMINATOR = '\n')
GO
UPDATE oci
SET oci.ClientNumber = nci.ClientNumber,
oci.ClientName = nci.ClientName,
oci.Tax_Year = nci.Tax_Year
FROM orig_Clientinfo oci
JOIN #ClientInfo nci on nci.OutputField = oci.OutputField;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2610 次 |
| 最近记录: |