执行大量sql语句后崩溃

darkluo2 2011-12-22 04:21:55
执行了大批量的update语句后 pb8 崩溃
执行小量的update语句就没事
怎么解决?
...全文
298 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
mmbest 2012-01-09
  • 打赏
  • 举报
回复
这个写法是没有问题的,只是PB8自己脚本SQL处理得不够好。给你2点建议:
1,创建个数据窗对象封装一下,负责处理这类的提交更新,修改等
2,创建存储过程在服务器上做。
zxljason 2012-01-08
  • 打赏
  • 举报
回复
你这种情况 就别用IN了 用EXISTS
小安子 2011-12-23
  • 打赏
  • 举报
回复
你可以单步调试到那一步,死掉了,再看看那些值有问题,应该能够查出来
zhgwbzhd 2011-12-23
  • 打赏
  • 举报
回复
注意 数据类型。
比如你定义的 变量类型是 int,他最大值是 32767,再大就变成负值了。
如果是这样的原因,把他的类型改为 long
PB菜鸟 2011-12-23
  • 打赏
  • 举报
回复
用dw_1.update()执行更新试试。
darkluo2 2011-12-22
  • 打赏
  • 举报
回复

dw_master.retrieve(string(treeitem.data))

if dw_master.rowcount() < 1 then
return
end if

// 刷新工序信息
string ls_sprowid2

ls_sprowid2 = dw_master.getItemString(dw_master.getRow(),'sp_rowid')

dw_detail.retrieve(ls_sprowid2)

修改也没问题,但是修改之后不能执行上面的代码,执行就崩溃
darkluo2 2011-12-22
  • 打赏
  • 举报
回复
我用Execute Immediate :ls_sql Using Sqlca;

ls_sql:update table set c1 = 'value' where rowid in ('1','2','3',.......)
当in后面的id少就没问题
当in后面的id多了就崩溃了
yyoinge 2011-12-22
  • 打赏
  • 举报
回复
分批执行,或者放到存储过程中执行
xuam 2011-12-22
  • 打赏
  • 举报
回复
具体update 语句贴出来.

1,077

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 相关问题讨论
社区管理员
  • 基础类社区
  • WorldMobile
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧