【发布时间】:2018-05-24 09:30:59
【问题描述】:
我正在尝试创建一个触发器以在另一个字段更新时更改一个字段。这是我当前的触发器,如果我只更新一行,它目前可以工作,但如果我更新多个,它就不起作用。我该如何解决这个问题?
顺便说一句,我正在使用 oracle。
Create or replace trigger br_change
after update on employees
Declare
cursor pls_work is
select e.employeeID, e.departmentID, ep.billrate, jobrank, salary
from employees e full join employeeproject ep on e.employeeID
= ep.employeeID full join jobtypes jt on jt.jobname = e.title;
empID number(3);
dpID number(1);
br number(4);
jr number(1);
s number(12);
BEGIN
open pls_work;
fetch pls_work into empID, dpID, br, jr, s;
update employeeproject set billrate = ((s/2000)+(jr*10)) where empID = employeeID;
dbms_output.put_line('Updating billrate to match changes');
END;
/
【问题讨论】:
-
“它不起作用”没有帮助。告诉我们实际发生了什么——一个错误,错误的结果?我想您最终会得到错误的账单费率值。包含样本数据和当前/预期结果可能会有所帮助。
标签: sql oracle plsql triggers sql-update