Foxtable(狐表)用户栏目专家坐堂 → [求助]如何从后台删除SQL数据库大量行?


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

主题:[求助]如何从后台删除SQL数据库大量行?

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


加好友 发短信
等级:小狐 帖子:371 积分:4368 威望:0 精华:0 注册:2017/2/7 7:41:00
[求助]如何从后台删除SQL数据库大量行?  发帖心情 Post By:2021/6/5 23:53:00 [只看该作者]

帮助中例子http://www.foxtable.com/webhelp/topics/2899.htm

在DataTable中一次性删除大量的行,然后保存,效率是比较低的。
我们可以用
SQLDeleteFor直接从后台删除符合条件的行,然后用RemoveFor从DataTable移除符合条件的行,效率会提高很多,例如:

DataTables("表A").SQLDeleteFor("产品编号 = 1")
DataTables
("表A").RemoveFor("产品编号 = 1")


这里只有一个条件,一行数据。如果条件改为删除所有与表B列“产品编号”相同的产品,不知道如何写,请指点

[此贴子已经被作者于2021/6/6 0:01:50编辑过]

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


加好友 发短信
等级:小狐 帖子:371 积分:4368 威望:0 精华:0 注册:2017/2/7 7:41:00
  发帖心情 Post By:2021/6/6 11:39:00 [只看该作者]

采用遍历表B记录可以吗?
Dim dd As Integer '产品编号为整数型
For
 Each dr As DataRow In DataTables("表B").DataRows
    dd  = dr(
"产品编号")
     DataTables("表A").SQLDeleteFor("产品编号 = “ & dd )
     DataTables
("表A").RemoveFor("产品编号 = “ & dd)
Next

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


加好友 发短信
等级:超级版主 帖子:106536 积分:541839 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/6/6 20:28:00 [只看该作者]

DataTables("表A").SQLDeleteFor("产品编号 in (select 产品编号 from {表B}))
DataTables("表A").Load

 回到顶部
帅哥哟,离线,有人找我吗?
明天的灵
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:371 积分:4368 威望:0 精华:0 注册:2017/2/7 7:41:00
  发帖心情 Post By:2021/6/6 21:14:00 [只看该作者]

谢谢,简洁多了

 回到顶部
帅哥哟,离线,有人找我吗?
明天的灵
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:371 积分:4368 威望:0 精华:0 注册:2017/2/7 7:41:00
  发帖心情 Post By:2021/6/8 22:56:00 [只看该作者]

DataTables("表A").SQLDeleteFor("编号 in (Select 编号 fro m {表B})")
DataTables("表A").Load
上面代码执行时,出错:
语法错误。 在查询表达式 '编号 in (Sel ect 编号 fro m {表B})' 中。


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


加好友 发短信
等级:超级版主 帖子:106536 积分:541839 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/6/8 23:14:00 [只看该作者]

应该是个bug,明天反馈一下,使用sql处理吧

delete from {表A} where 编号 in (Select 编号 from {表B})

 回到顶部
帅哥哟,离线,有人找我吗?
明天的灵
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:371 积分:4368 威望:0 精华:0 注册:2017/2/7 7:41:00
  发帖心情 Post By:2021/6/8 23:46:00 [只看该作者]

谢谢


 回到顶部