需要同时修改数据库中几条记录,按不同的条件,怎么写SQL?

hoge66 2004-03-27 09:44:10
例如:
部门 人员编号 工资

005 01 0
005 02 0
005 03 0
005 04 0
005 05 0
我需要“同时”给每个人员发放不同的工资!怎么写语句??一定要同时发放!
...全文
167 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
leeboyan 2004-03-27
  • 打赏
  • 举报
回复
这样行么?
先将工资插入一个临时表:包含人员编号,工资两个字段
然后update
update table1 a set 工资=select 工资 from temp b where a.人员编号=b.人员编号
hoge66 2004-03-27
  • 打赏
  • 举报
回复
各位大哥:
能否用一条语句更改呢?因为我不能确切知道到底是那位员工!员工的数据是从别的表中批量插入的!
progress99 2004-03-27
  • 打赏
  • 举报
回复
因為數據涉及到工資,更改語句還是要加上事務。
begin tran

update A
set A.工资=B.工资
from 你的表 A
left join 新建的表 B
on b.人员编号=A.人员编号
if @@error<>0 rollback

commit
progress99 2004-03-27
  • 打赏
  • 举报
回复
每次在運行語句前,先將工資數據輸入到《新建的表》中。
welyngj 2004-03-27
  • 打赏
  • 举报
回复
set xact_abort on
begin tran
update tbl .....
update tbl......
....
commit tran

要么全部发放成功,要么一起失败。
Clove 2004-03-27
  • 打赏
  • 举报
回复
不知道其它表的关联如何
说说其他关联表
progress99 2004-03-27
  • 打赏
  • 举报
回复
建一個工資表,字段為(人员编号,工资)
人员编号 工资
01 1000
02 2000

update A
set A.工资=B.工资
from 你的表 A
left join 新建的表 B
on b.人员编号=A.人员编号
Rotaxe 2004-03-27
  • 打赏
  • 举报
回复
把修改语句放入一个事务中就可以。
chenzhuo 2004-03-27
  • 打赏
  • 举报
回复
用游标!!!

22,300

社区成员

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

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