存储过程循环取表中的值

表tab_a列KID:客户IDKID1010102110342012……表:tab_b列KID:客户ID列KNAME:库名KIDKNAME1010A1031021A301... 表tab_a 列KID:客户ID
KID
1010
1021
1034
2012
……

表:tab_b 列KID:客户ID 列KNAME:库名
KID KNAME
1010 A103
1021 A301
1034 A102
2012 A201

现在就是要修改表tab_b的KNAME为'B101'
条件是表tab_b的KID与tab_a的KID相等

应该需要循环表tab_a吧 ,哪位帮个忙!3Q!!!
展开
 我来答
noitlr
2010-07-14 · TA获得超过4140个赞
知道小有建树答主
回答量:1772
采纳率:0%
帮助的人:1455万
展开全部
不用循环 SQL语句自己会遍历的
update tab_b set kname='B101' where kid in (select kid from tab_a)

不知道你要表达的是不是这个意思,按字面理解的话,根本是不需要where条件的,因为a表和b表kid相等跟你更新kname列没有关系,你直接全部更新b表的kname就可以了。
百度网友6a7d11453
2010-07-14 · TA获得超过954个赞
知道小有建树答主
回答量:931
采纳率:50%
帮助的人:710万
展开全部
没看明白 是只要tab_a和tab_b的KID相同,就把表tab_b的所有KNAME都改为B101吗

update tab_b set KNAME = 'B101' where KID in (select KID from tab_a)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
firev000
2010-07-14 · TA获得超过492个赞
知道小有建树答主
回答量:877
采纳率:0%
帮助的人:645万
展开全部
update tab_b
set KNAME='B101'
from
(select a.kid from tab_a a inner jion tab_b
on a.kid=b.kid) a
where tab_b.kid=a.kid
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式