这是我的表结构。
CREATE TABLE emp
(empid INT IDENTITY(101, 1),
empname VARCHAR(20),
salary DECIMAL(10,2),
Created_date DATETIME DEFAULT(GETDATE())
);
现在我有像
这样的记录'Ramesh',10000
'Arun',20000
在.txt
文件中。
我需要将这些记录批量插入表中。请指导我编写批量插入查询。
答案 0 :(得分:2)
基本上,您首先需要一个暂存表,其结构完全匹配您的.txt
文件:
CREATE TABLE emp_staging
(empname VARCHAR(20),
salary DECIMAL(10,2)
);
然后,BULK将.txt
文件中的数据插入到您的临时表中并检查:
BULK INSERT dbo.emp_staging
FROM 'd:\temp\emps.txt'
WITH
(
FIELDTERMINATOR =',',
ROWTERMINATOR ='\n'
);
SELECT * FROM dbo.emp_staging
完成后 - 现在您可以使用INSERT .. SELECT ...
将临时表中的数据插入到实际表中:
INSERT INTO dbo.emp
( empname, salary )
SELECT empname, salary
FROM dbo.emp_staging
SELECT * FROM dbo.emp