SQL SERVER 使用BULK Insert将txt文件中的数据批量插入表中(1)

BULK INSERT的作用是:以用户指定的格式复制一个数据文件至数据库表或视图中,可实现快速批量插入数据,显著提高效率

具体语法格式详见:

 http://blog.csdn.net/htl258/article/details/4548556

  https://docs.microsoft.com/zh-cn/sql/t-sql/statements/bulk-insert-transact-sql

本文以具体实例讲解使用BULK INSERT 将本地文件‘D:\WriteDatafile.txt’中的数据插入到BasicMsg数据表中.

1/首先建立数据表

CREATE TABLE BasicMsg
(
RecvTime FLOAT NOT NULL , --接收时间,不存在时间相同的数据
AA INT NOT NULL, --24位地址码 .
FlightID Varchar(10) NULL, --航班号
)

2/ 建立存储过程

在存储过程中实现BULK INSERT(也可以不建立存储过程,直接实现)

USE DF17DataPro
IF EXISTS (SELECT * FROM SYS.PROCEDURES WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[BulkDataProc]'))
DROP PROC [DBO].[BulkDataProc]
GO
--输出各个范围内NIC值
CREATE PROCEDURE BulkDataProc
AS 
SET NOCOUNT ON 
BULK INSERT BasicMsg FROM 'D:\WriteDatafile.txt' --location with filename // BasicMsg11
  WITH
  (
     -- KEEPIDENTITY ,
  FIELDTERMINATOR = ',', --WriteDatafile.txt文件数据之间的分隔符
  ROWTERMINATOR = '
'  --单行数据结束符
 ) 

GO 

EXECute BulkDataProc

3/WriteDatafile.txt文件内容格式

43255,7867628,CCA1519

4/注意事项

--依次执行上述步骤,即可实现将文件内容插入数据库中;

--当数据表中有自增列属性时,用以上方法会出错;详情见第二篇文章:“SQL SERVER 使用BULK Insert将txt文件中的数据批量插入表中(2)”
 

只此一生,与子白头
原文地址:https://www.cnblogs.com/Miss-Bueno/p/7061749.html