在T-Sql上超过1000行

时间:2016-05-01 17:17:42

标签: asp.net-mvc tsql asp.net-mvc-4

我正在做一个项目,我发现插入我需要的数据的唯一方法是通过运行新查询的T-s插入它,它全部运行很酷,因为我需要插入24000条记录,是有一种方法可以使用相同的方法吗? 以下是我需要插入的内容

的示例
SET IDENTITY_INSERT Estadoes ON;

INSERT INTO countries ([EstadoId], [EstadoNome], [PaisId]) VALUES

(1, 'Andaman and Nicobar Islands', 101),
(2, 'Andhra Pradesh', 101),
(3, 'Arunachal Pradesh', 101),
(4, 'Assam', 101),
(5, 'Bihar', 101),
(6, 'Chandigarh', 101),
(7, 'Chhattisgarh', 101),
(8, 'Dadra and Nagar Haveli', 101),
(9, 'Daman and Diu', 101),
(10, 'Delhi', 101),

1 个答案:

答案 0 :(得分:0)

这么多的可能性(你的方式[必要时拆分数据],选择.. union all,Management Studio中的数据导入,OpenQuery,批量插入,使用应用程序,......)

我会告诉你,使用批量插入。

让我们说“data.txt”包含您的数据:

1,Andaman and Nicobar Islands,101
2,Andhra Pradesh,101
3,Arunachal Pradesh,101
...

如果您可以从数据库服务器引用您的数据文件,您可以执行以下操作:

--Create a temporary table
select top 0 * into #countriesImport from countries;

BULK INSERT #countriesImport
FROM 'C:\temp\data.txt'
WITH (FIELDTERMINATOR=',', ROWTERMINATOR='0x0a')

insert countries (EstadoId, EstadoNome, PaisId)
select EstadoId, EstadoNome, PaisId
FROM #countriesImport A 
  left outer join countries B on A.EstadoId = B.EstadoId
where B.EstadoId is null  

希望它有所帮助。