create or replace triger 触发器名称
before | after
insert | update | delect 操作
on 表名
【for each row】
declare
begin
end;
作用:
在动作执行之前或之后触发业务处理逻辑
插入数据和校验
–例:新员工入职之后输出:欢迎加入
create or replace triger tri_test
after
insert
on emp
declare
begin
dbm.output.put_line('欢迎加入');
end;
–判断员工涨工资后的工资一定要大于涨工资前的工资
create or replace trigger tei_updata
before
update
on emp
for each row
declare
begin
if :old.sal > :new.sal then
raise_application_error(-20002,'旧的工资不能大于新的工资');
end if;
end;
update emp set sal = sal + 100;
–给新插入的记录id赋值
create squence seq_id;
create or replace triger tri_test2
before
insert
on person
for each row
declare
begin
dbm_output.put_line(:new.pname);
select squ_id.nextval into :new.pad from dual
end;