Oracle-触发器

匆匆过客 提交于 2020-02-01 09:02:12

Oracle-触发器

分类

语句级触发器 : 不论影响多少行,都只出发一次
行级触发器 : 影响多少行,就出发多少次
			:old 		原记录
			:new 		新纪录	

实例一–新加入数据后,输出一句话

--新员工入职后输出一句话
create or replace trigger tri_test1
after
insert on emp
declare
begin
   dbms_output.put_line('欢迎加入');
end;

--测试
insert into emp(empno,ename) values(8890,'Apple') 

实例二–更新工资后输出一句话(行级触发器)

--更新工资后输出一句话
create or replace trigger tri_test2
after
update on emp
for each row
  declare
  begin
    dbms_output.put_line('更新了数据');
  end;


--测试
update emp set sal = sal+10

实例三–id自增长触发器

1.新建一个测试表
create table person(
    pid number primary key,
    pname varchar2(20)
)
2.创建一个序列
create sequence seq_person_pid;
3.创建触发器
create or replace trigger tri_add_person_pid
before
insert on person
for each row
  declare
  begin
    select seq_person_pid.nextval into :new.pid from dual;
  end;
4.测试
insert into person values(null,'aaa')

select * from person
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!