注册 登录
编程论坛 PowerBuilder

多条检索记录的更新问题

jump2003 发布于 2006-07-28 10:11, 811 次点击
select a.xh,a.xm,(b.kjje + Nvl(a.snjzje,0) - Nvl(a.ljbxje,0)) je into:ls_xh,:ls_xm,:ls_je from mwd_zggrzhxxk a,mwd_zggzksum b
where a.xm=b.xm and (b.kjje + Nvl(a.snjzje,0) - Nvl(a.ljbxje,0))>0 and b.yyyy=:ls_yy;//第一条检索语句

update mwd_zggrzhxxk set snjzje=:ls_je,gzljje='',ljbxje='',dqgzje='' where xh=:ls_xh and xm=:ls_xm;//第二条更新语句

第一条检索语句检索出来有多条记录,怎么在第二条语句里实现全部更新啊?这个循环写不好了啊!~
3 回复
#2
jump20032006-07-28 13:05
没有人知道吗?给个提示也可以啊!!
#3
潇洒老乌龟2006-07-29 14:38
select a.xh,a.xm,(b.kjje + Nvl(a.snjzje,0) - Nvl(a.ljbxje,0)) je into:ls_xh,:ls_xm,:ls_je from mwd_zggrzhxxk a,mwd_zggzksum b
where a.xm=b.xm and (b.kjje + Nvl(a.snjzje,0) - Nvl(a.ljbxje,0))>0 and b.yyyy=:ls_yy;//第一条检索语句
做成动态数据窗口.

然后用循环
update mwd_zggrzhxxk set snjzje=:ls_je,gzljje='',ljbxje='',dqgzje='' where xh=:ls_xh and xm=:ls_xm;//第二条更新语句
#4
fgypblt2006-07-29 14:56
同意3楼,而且用游标也行。
建议新建一个视图。包含xh,snjzje,ljbxje,kjje等

hos系统吗 上年金额? 呵呵 做开发的话, 五六个人开发也要忙一阵子的了,如果是oracle等类数据库,以sql包等形式做在数据库中批量执行效率更高。
不是做开发的,那就建个视图,备用也行阿
1