【发布时间】:2013-05-19 20:27:21
【问题描述】:
我正在尝试使用 oracle 中的 pl-sql 编写一个触发器来检查薪水是小于还是大于最小或最大薪水,但它一直给我一个错误,它说:Error(11,1): PLS -00103: 遇到符号“UPDATE”
CREATE OR REPLACE TRIGGER MIN_MAX_SAL
after update
of salary on employees
for each row
DECLARE
min_sal jobs.min_salary%type;
max_sal jobs.max_salary%type;
begin
select min_salary , max_salary into min_sal , max_sal from jobs
where job_id = :new.job_id ;
if :new.salary > max_sal or :new.salary < min_sal then
dbms_output.put_line('Wrong');
end if;
End;
请帮我操作这个触发器,谢谢;
【问题讨论】:
-
正如 APC 所说,这在语法上看起来是有效的,如果不是在功能上。您确定错误来自此声明 - 当您使用
/提交时?或者您是否一起运行多个语句并且没有正确分离它们,从而使编译器感到困惑?另外...如果job_id也发生变化,您是否还需要检查salary?
标签: oracle plsql triggers plsqldeveloper