BULK INSERT 表 FROM 'c:\1.txt'
WITH (
   DATAFILETYPE = 'char',
   FIELDTERMINATOR = '|',
   ROWTERMINATOR = '\n'
)

解决方案 »

  1.   

    将数据从查询复制到数据文件
    bcp 实用工具使您得以将 Transact-SQL 语句的结果集复制到数据文件中。该 Transact-SQL 语句可以是任何可返回结果集的有效语句,例如分布式查询或联接多个表的 SELECT 语句。例如,若要将所有作者的姓名从 pubs 数据库的 authors 表复制到 Authors.txt 文件,并按姓氏排序,可在命令提示符下执行以下命令:bcp "SELECT au_fname, au_lname FROM pubs..authors ORDER BY au_lname" queryout Authors.txt -c -Sservername -Usa -Ppassword如果要确保数据的原有顺序在数据文件中得以保留,则应从查询大容量复制数据;从表或视图大容量复制数据时,不能保证数据写入数据文件的顺序。在数据文件中保留数据顺序使您得以在将数据从数据文件大容量复制回表中时,可以利用 ORDER 提示。使用 ORDER 提示可以显著提高大容量复制的性能。有关更多信息,请参见优化大容量复制性能。如果 Transact-SQL 语句返回多个结果集(例如指定 COMPUTE 子句的 SELECT 语句,或执行包含多个 SELECT 语句的存储过程),则只复制第一个结果集而忽略随后的结果集。
      

  2.   

    现在问题有了突破性的进展,我用的zjcxc的
    BULK INSERT 表 FROM 'c:\1.txt'
    WITH (
       DATAFILETYPE = 'char',
       FIELDTERMINATOR = '|',
       ROWTERMINATOR = '\n'
    )
    方法,但我的文本中的内容是这样的  1|2|3|4|5|7|8|9|  但我要执行该语句时要把 9 后的“|”去掉,但我有张表中的记录超过百万条,就算用程序把每条记录最后的“|”去掉也要花很长时间,请问哪位大侠知道怎么设置以下上面的语句能在不去掉最后的“|”也能插入啊,万分感谢!!!!!