Foxtable(狐表)用户栏目专家坐堂 → 新增多行保存和新增一行就保存时后台sql执行的区别?


  共有3623人关注过本帖树形打印复制链接

主题:新增多行保存和新增一行就保存时后台sql执行的区别?

帅哥哟,离线,有人找我吗?
HappyFt
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1908 积分:16976 威望:0 精华:0 注册:2014/7/29 19:09:00
新增多行保存和新增一行就保存时后台sql执行的区别?  发帖心情 Post By:2015/1/5 22:57:00 [显示全部帖子]

在写代码时经常会遇到下面的情况

 

'遍历新增完成一次性保存

For Each dr As DataRow In DataTables("订单").DataRows

     dim dr1 as datarow = tables("生产单").AddNew()

     dr1("")  = dr("")
      ....

Next

DataTables("生产单").Save

 

这种情况相当于后台sql数据库中一次insert就插入多行,即后台只执行一次insert操作

 

'遍历一行就保存

For Each dr As DataRow In DataTables("订单").DataRows

     dim dr1 as datarow = tables("生产单").AddNew()

     dr1("")  = dr("")

     DataTables("生产单").Save

Next

这种情况相当于保存时后台sql数据库中每行都要执行一次insert

 

因为我用触发器关系到其按语句触发影响多行或一行的问题,特求证我的这种理解是否正确?

 

谢谢!

 

 



 回到顶部
帅哥哟,离线,有人找我吗?
HappyFt
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1908 积分:16976 威望:0 精华:0 注册:2014/7/29 19:09:00
  发帖心情 Post By:2015/1/5 23:19:00 [显示全部帖子]

那不管遍历完再保存还是每遍历一行就保存都是每行插入时都会执行触发器中的代码了?


 回到顶部
帅哥哟,离线,有人找我吗?
HappyFt
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1908 积分:16976 威望:0 精华:0 注册:2014/7/29 19:09:00
  发帖心情 Post By:2015/1/5 23:53:00 [显示全部帖子]

 

因为触发器中有介绍这样的语句只触发一次,所在才有此疑问


图片点击可在新窗口打开查看此主题相关图片如下:360截图20150105235331030.jpg
图片点击可在新窗口打开查看

 回到顶部