Oracle-触发器

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
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值