以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]如何从后台删除SQL数据库大量行? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=169187) |
-- 作者:明天的灵 -- 发布时间:2021/6/5 23:53:00 -- [求助]如何从后台删除SQL数据库大量行? 帮助中例子http://www.foxtable.com/webhelp/topics/2899.htm 在DataTable中一次性删除大量的行,然后保存,效率是比较低的。 DataTables("表A").SQLDeleteFor("产品编号 = 1") 这里只有一个条件,一行数据。如果条件改为删除所有与表B列“产品编号”相同的产品,不知道如何写,请指点 [此贴子已经被作者于2021/6/6 0:01:50编辑过]
|
-- 作者:明天的灵 -- 发布时间: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
|
-- 作者:有点蓝 -- 发布时间:2021/6/6 20:28:00 -- DataTables("表A").SQLDeleteFor("产品编号 in (select 产品编号 from {表B})) DataTables("表A").Load
|
-- 作者:明天的灵 -- 发布时间:2021/6/6 21:14:00 -- 谢谢,简洁多了 |
-- 作者:明天的灵 -- 发布时间:2021/6/8 22:56:00 -- DataTables("表A").SQLDeleteFor("编号 in (Select 编号 fro m {表B})") DataTables("表A").Load 上面代码执行时,出错: 语法错误。 在查询表达式 \'编号 in (Sel ect 编号 fro m {表B})\' 中。 |
-- 作者:有点蓝 -- 发布时间:2021/6/8 23:14:00 -- 应该是个bug,明天反馈一下,使用sql处理吧 delete from {表A} where 编号 in (Select 编号 from {表B})
|
-- 作者:明天的灵 -- 发布时间:2021/6/8 23:46:00 -- 谢谢 |