Oracle的触发器怎么写?

来源:百度知道 编辑:UC知道 时间:2024/09/21 18:10:43
参照scott用户下的表,建立一个触发器sal_check,当一个员工提升为manager(job由salesman clerk 或analyst变为manager)时,bonus表中的薪水增长10%;

自己写了总是编译不过...求教高手

我以前做的一个例子,你参考下吧
第八章 触发器(Trigger)
--格式:
create or replace trigger 名称
[after|before][delete|update|insert]
[on 表 | on schema]
[referencing new as 别名 old as 别名]
[for each row]
declare
....
begin
...
exception
....
end;

--创建一个delete类型行级触发器
--删除的一行数据保存在:old
create or replace trigger emp_delete_row_trigger
after delete
on emp
referencing new as n old as o
for each row
begin
dbms_output.put_line('emp_delete_row_trigger called.');
dbms_output.put_line('删除员工:' || :o.empno || ' ' || :o.ename);
end;

delete from emp where empno=7499;
delete from emp;
--创建一个insert类型行级触发器
--插入的一行新数据保存在:new
create or replace trigger emp_insert_row_trigger
after insert
on emp
for each row
begin
dbms_output.put_line('emp_insert_row_trigger called.');
dbms_output.put_line('添加员工:&#