请解释如下代码的意思,详细注解每行带码的含义,谢谢!create or replace trigger tr_update_employee_salary
instead of update
on vw_employee_salarybegin
declare totalMonth number;
begin
select count(distinct(month)) into totalMonth from t_salary where employee_id=:old.employee_id;
update t_salary set salary + (:new.total-:old.total)/totalMonth where employee_id=:old.employee_id;
end;
end;
instead of update
on vw_employee_salarybegin
declare totalMonth number;
begin
select count(distinct(month)) into totalMonth from t_salary where employee_id=:old.employee_id;
update t_salary set salary + (:new.total-:old.total)/totalMonth where employee_id=:old.employee_id;
end;
end;
解决方案 »
- 问下这句SQL是什么意思?(在水一方) 来
- TRUNC(SYSDATE + 1)和trunc(sysdate) + 1有什么区别?
- oracle11g,删除了 oradata 下的 redo03.log 数据库无法打开怎么办?
- 数据库可以启动所有服务,但是却无法登陆isqlplus,而且一切jdbc也不能连接,晕啊
- 用grant修改sys,system密码
- SQL 语句查询问题 大家讨论讨论 海量数据查询 解决速率和灵活问题
- 计算机更改了,所有设置是否无效??等待...
- Ocacle获取NUMBER(11,2)数据时。。。。。。。。。。。。。
- 如何建一个表空间,详细点!
- 奇怪,请帮我看看这个组合的简单SQL,动态执行总说不对。谢谢
- oracle 数据读取问题
- pl/sql where后面的语句不太明白
create or replace trigger tr_update_employee_salary
instead of update--触发器以来对象
on vw_employee_salarybegin--声明变量totalMonth
declare totalMonth number;
begin--给变量赋值
select count(distinct(month)) into totalMonth from t_salary where employee_id=:old.employee_id;--更新到另外一张表
update t_salary set salary + (:new.total-:old.total)/totalMonth where employee_id=:old.employee_id;
end;
end;
create or replace trigger tr_update_employee_salary
instead of update --这句是有更新的时候就会触发
on vw_employee_salary ]--这句是在vw_employee_salary这个对象进行触发
begin --开始执行的语句
declare totalMonth number; --声明变量为totalMonth number
begin --开始执行的语句
--给变量赋值
select count(distinct(month)) into totalMonth from t_salary where employee_id=:old.employee_id;--更新到另外一张表
update t_salary set salary + (:new.total-:old.total)/totalMonth where employee_id=:old.employee_id;
end;
end;[/Quote]