sql游标的问题

ufgovfucw ufgovfucw 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
现在有一张表如下:
kmdm kmmx
101 1
102 0
10201 1
10202 1
10203 1
103 0
...
里面的关系是这样的,kmdm字段值,如果不带下级明细的kmmx字段值为1如果带有下级明细的kmmx字段值为0。
里面有错误,比如103不带下级明细值应该为1,我要逐一找出这样的记录并修改它的kmmx值为正确的值,我写了下面的sql语

句
怎么得出的结果是这样的呢:
kmdm kmmx
101 1
102 1
10201 1
10202 1
10203 1
103 1
...
结果kmmx字段值全变成了1.请大侠救我。

declare @kmdm varchar(16),@i int
declare xfkmmx cursor for select kmdm from gl_kmxx where gsdm='' for update
open xfkmmx
fetch next from xfkmmx into @kmdm
while(@@fetch_status<>-1)
begin
select @i=count(kmdm) from gl_kmxx where gsdm='' and kmdm like @kmdm
if @i>1
begin
update gl_kmxx set kmmx='0' where current of xfkmmx
end
else
begin
update gl_kmxx set kmmx='1' where current of xfkmmx
end
fetch next from xfkmmx into @kmdm
end
close xfkmmx
deallocate xfkmmx
...全文
评论 2
收藏 已收藏
分享
返回顶部
ufgovfucw
疑难问题 22,298 成员 121,727 内容