sql 批量更新数据

有两个表A,B其中A表为基表,B为其子表,他们均有一个type字段需一SQL将B表中的type(对应A的id)修改为A表的type一次最多更新1000条数据,可能有几千条... 有两个表A,B
其中A表为基表,B为其子表,他们均有一个type字段
需一SQL将B表中的type(对应A的id)修改为A表的type
一次最多更新1000条数据,可能有几千条数据,请各位帮忙,有加分
1000 是DBA的限制,最多一次可更新1000条数据,如果超过1000,要分多个批次来执行
可以用循环来做吗?数据库为sybase

如果用游标,如何做?
展开
 我来答
lvxianling
2009-12-08 · TA获得超过639个赞
知道小有建树答主
回答量:279
采纳率:0%
帮助的人:193万
展开全部
update a set a.type=b.type from b where a.id=b.id
为什么要一次更新1000条那,如果你硬是想要那样更新那就在加上个条件如下
update a set a.type=b.type from b where a.id=b.id
and a.id in(select top 1000 a.id from a,b where a.id=b.id and a.type!=b.type)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
推荐于2017-08-14
展开全部
给你写个sqlserver的,其他数据库的话另说

1

update table2 set pwd=table1.ip from table1 inner join table2 on table1.username=table2.username
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
digitalyoung
2009-12-08 · TA获得超过125个赞
知道答主
回答量:62
采纳率:0%
帮助的人:75.6万
展开全部
update B set type = (select type from A where A.id=B.id ) where rownum < 1001
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wuyixiong1987
2009-12-08 · TA获得超过272个赞
知道答主
回答量:199
采纳率:0%
帮助的人:178万
展开全部
update t1 set type=t2.type from B t1
inner join A t2 on t1.type=t2.id
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
石亮东
2009-12-08 · TA获得超过1217个赞
知道小有建树答主
回答量:2022
采纳率:66%
帮助的人:1403万
展开全部
游标好了.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式