首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

数千条记录怎么快速保存

2014-01-05 
数千条记录如何快速保存?SQL2000,每次保存时有数千条记,如何快速保存?我现在用的语句如下: rs.Open Selec

数千条记录如何快速保存?
SQL2000,每次保存时有数千条记,如何快速保存?
我现在用的语句如下:
 rs.Open "Select * FROM Table  Where 1=2", Cw_DataEnvi.DataConnect,adOpenDynamic,adLockOptimistic
 With rs
      For Rowjsq = 1 To Vsf.Rows - 1
          .AddNew
          .Fields(0) = Val(Vsf.TextMatrix(Rowjsq, 0))
          .Fields(1) = Trim(Vsf.TextMatrix(Rowjsq, 1))
          .Update
       Next
       .Close
   End With
由于以上保存方法速度较慢,请教教更快的方法。
[解决办法]

引用:
Quote: 引用:

Quote: 引用:

Quote: 引用:

Quote: 引用:

Quote: 引用:

Quote: 引用:

Quote: 引用:

Quote: 引用:

Quote: 引用:

是要把数组里的值,保存到表里是吗


那就直接拼接语句,比如成这样:

insert Into 目标表(列1,列2...)
select 值1,值2,值3,...
union all
select 值1,值2,值3,...
union all
select 值1,值2,值3,...


需要保存的记录在表格中,表格的每行为一条记录,表格有两列,有数千行。


数据在表格里,这个表格 也是sql server中的一个表吗


这个表格不是sql server中的一个表,这个表格中的数据是用户录入的。


那能不能这样呢,先拼接出一个insert 语句,然后一次性插入这几千条数据:


定义一个变量 ="insert into 表"

 For Rowjsq = 1 To Vsf.Rows - 1
   
      定义一个变量=定义一个变量+" select " +Val(Vsf.TextMatrix(Rowjsq, 0)) +","+Trim(Vsf.TextMatrix(Rowjsq, 1)) +" union all "
 Next


我试试看


对了 这个语句拼接出来后,得把最后一个 union all 去掉



我是在VB6里写的,不知道这样拼接,变量的字符串长度是否会超出?


好像最长是64k把,应该不会超过长度的


怕字符串太长就每隔三五百条记录执行一次。


哦 那也行,这样执行个10次就差不多了

热点排行