写一个update语句 应该简单,可我就不会,该省省了

码工码工 2006-09-20 10:26:55
假定工资计算中有如下流程:
(1)扣减雇员基本工资的10%,计算的结果为X1,;
(2)增加雇员公积金,计算公式为:X1+雇员的岗位工资*20%;
要求用事务处理机制
参考表:
create table employee(
id number(9) primary key,
name varchar2(20),
baseSalary number(8,2),
postSalary number(8,2));

create table accumulaitonfund(
id number(9) primary key,
fund number(8,2),
employee_id number(9));

问题二肯定应该用update实现,但这个语句怎么写,请高手指点一二,深表谢意 ^_^
...全文
189 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
stou 2006-09-21
  • 打赏
  • 举报
回复
ding
njdxbzu 2006-09-21
  • 打赏
  • 举报
回复
update accumulaitonfund
set fund=employee.baseSalary*0.1+employee.postSalary*0.2
from employee
where accumulaitonfund.employee_id=employee.id
码工码工 2006-09-20
  • 打赏
  • 举报
回复
这是跨表,如果是select语句的话,我就会了

select e1.*** from table1 e1,table2 e2 where e1.***=e2.***

呵呵。。。
码工码工 2006-09-20
  • 打赏
  • 举报
回复
lgjlry(455)
update employee set baseSalary=baseSalary*0.9 不久行了。
这样不行,因为结果是要写到accumulaitonfund表里边的。^_^
码工码工 2006-09-20
  • 打赏
  • 举报
回复
啊,沉得太快了,再顶,再没人理我可哭了
lgjlry 2006-09-20
  • 打赏
  • 举报
回复
update employee set baseSalary=baseSalary*0.9 不久行了。看看这样行不行
update employee set postSalary=postSalary*1.2
码工码工 2006-09-20
  • 打赏
  • 举报
回复
自己顶起来先。。。
码工码工 2006-09-20
  • 打赏
  • 举报
回复
公积金在表accumulaitonfund中,就是fund列

其中
employee表的id列

accumulaitonfund表的employee_id列有外键关系

注:baseSalary number(8,2)这列是员工基本工资
  postSalary number(8,2)这列是员工岗位工资
jasonren 2006-09-20
  • 打赏
  • 举报
回复
公积金Update到那裡?
miaobing2008 2006-09-20
  • 打赏
  • 举报
回复
先問下:你的這個要把數據寫入另一張表嗎? 那不一定是UPDATE了!如果是先從 employee計算出相應的數據寫入accumulaitonfund中的話,不是很麻煩啊

34,593

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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