TRY:truncate table 临时的表  -----一定要用truncate table 
bulk insert 临时的表 ........insert into 你的表 select * from 临时的表

解决方案 »

  1.   

    请使用Dts来导出.txt,再用.txt导入!
      

  2.   

    Order指定数据文件中的数据如何排序。如果装载的数据根据表中的聚集索引进行排序,则可以提高大容量复制操作的性能。如果数据文件基于不同的顺序排序,或表中没有聚集索引,ORDER 子句将被忽略。给出的列名必须是目的表中有效的列。默认情况下,大容量插入操作假设数据文件未排序。
      

  3.   

    大容量操作也可以用bcpselect * from openrowset('Microsoft.Jet.OLEDB.4.0','Text;Database=c:\;','select * from [test#txt]')
      

  4.   

    但注意字段分割必须用逗号.
    select * from openrowset('Microsoft.Jet.OLEDB.4.0','Text;Database=c:\;','select * from [test#txt]') order by .......
      

  5.   

    第一列设为主键,我又不是把整个表按从小到大得顺序排列的!
    提供得txt文件有很多,可能要将几个txt的内容放到一个表中,txt文件中是按照某一列排序的,但是写到表中的时候,我并不希望把这一列再整个来排一次序,而是按照txt的先后顺序放入,也就是说一个那个txt文件先放进去,那么肯定它的数据在前面,我只是希望不改变某一个txt内部数据间得先后顺序。
    第一列设为主键后,整个都排序,对我来说,把各个txt文件都拆散了,没有意义!
    (当然,txt文件)有其他的方法,请写详细一点sql语句,我都是通过语句来实现的,不能手动完成。否则没分!
      

  6.   

    可以增加一个时间字段,并且按时间排序.然后
    insert into tableName......
    select *,getdate() from openrowset('Microsoft.Jet.OLEDB.4.0','Text;Database=c:\;','select * from [test#txt]')这样就只能按你每次写入的数据先后显示了
      

  7.   

    1.create table test(id int primary key,col1 varchar(10),col2 varchar(10))
    2.create a test file in c:\test.txt
      1|854612|68453
      2|145161|54981
      3|445651|14556
      4|854612|68453
      5|145161|54981
      6|445651|14556
      7|854612|68453
      8|145161|54981
      9|445651|14556
    3.use BCP utility
     bcp pubs..test in c:\test.txt -c -t"|" -Usa -P -S%computername%
      

  8.   

    一下数据用bulk insert怎么写?abc  abc abc    a
    sdf      dsa    s
    asd  akk ksd    a
    sss  sss        s
    als  aaa aaa    a
    aaa  aaa aaa    a
    sld             l四个字段,某些字段有时有字符有时没有,某些列后面空一格,某些列后面空三格。怎么办?严重感谢。