首先,我们创建一张TABLE,如下面T-SQL脚本:

   1:  create table test
   2:  (id int,
   3:  amount int check(amount >=1000 and amount<=5000));

假设有这样的文本数据:

1    700
2    2000
3    870
4    4500

下面这个语句不检查约束:

   1:  bulk insert test
   2:  from 'f:\test.txt'
   3:  with
   4:  (fieldterminator=',',
   5:  rowterminator='\n')

这个是启用约束的:

   1:  bulk insert test 
   2:  from 'f:\test.txt' 
   3:  with 
   4:  (fieldterminator=',', 
   5:  rowterminator='\n', 
   6:  check_constraints) 
   7:  select * from test 

还可以使用FIRSTROW和LASTROW限制行数。如下COPY前三行:

   1:  bulk insert test
   2:  from 'f:\test.txt'
   3:  with
   4:  (fieldterminator=',',
   5:  rowterminator='\n',
   6:  FIRSTROW =1,
   7:  LASTROW=3)

使用ERRORFILE选项 错误处理,如下记录到F:\error.txt

   1:  bulk insert test
   2:  from 'f:\test.txt'
   3:  with
   4:  (fieldterminator=',',
   5:  rowterminator='\',
   6:  FIRSTROW =1,
   7:  LASTROW=3,
   8:  ERRORFILE ='F:\error.txt',
   9:  check_constraints)

关于BULK INSERT,请参考MSDN。希望对您开发有帮助。


作者:Petter Liu
出处:http://www.cnblogs.com/wintersun/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
该文章也同时发布在我的独立博客中-Petter Liu Blog

posted on 2011-01-30 19:50  PetterLiu  阅读(23667)  评论(2编辑  收藏  举报