请教存储过程实现批量更新

勤king 2010-03-25 01:34:43
目前遇到了需要批量更新数据库表中数据的问题,用程序实现的话需要效率较低,想求教是否可以通过存储过程或者别的方式实现该功能。
问题描述如下:
1、现有表 A_table

StuID Math English Chinese
1 70 70 70
2 80 80 80
3 90 90 90
4 100 100 100
5 70 70 70
6 80 80 80
7 90 90 90
8 100 100 100
9 70 70 70
10 80 80 80
11 90 90 90
12 100 100 100
13 70 70 70
14 80 80 80
15 90 90 90

2、现有表 B_table

StuID Math English Chinese Del_Flag
7 0 0 0 0
8 0 0 0 0
9 0 0 0 0
10 0 0 0 0
11 0 0 0 0
12 0 0 0 0
13 0 0 0 0
14 0 0 0 0
15 0 0 0 0
7 0 0 0 0
8 0 0 0 0
9 0 0 0 0
10 0 0 0 0
11 0 0 0 0
12 0 0 0 0
13 0 0 0 0
14 0 0 0 0
15 0 0 0 0

3、表A_table的StuID字段是关键字唯一确定一条记录,表B_table中StuID字段允许有重复即不是唯一的。

4、现在想通过存储过程,实现根据StuID字段批量的把表A_table的数据更新到表B_table中。

...全文
122 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
勤king 2010-03-25
  • 打赏
  • 举报
回复
谢谢各位了。
--小F-- 2010-03-25
  • 打赏
  • 举报
回复
update
b
set
Math=a.Math,English=a.English ,Chinese=a.Chinese
from
B_table b join A_table a
on
a.stuid=b.stuid
-狙击手- 2010-03-25
  • 打赏
  • 举报
回复
stuid重复的更新成一样的?
水族杰纶 2010-03-25
  • 打赏
  • 举报
回复
update b set Math=a.Math,English=a.English ,Chinese=a.Chinese
from B_table b,A_table a
where a.stuid=b.stuid

22,298

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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