【PL/SQL】触发器初识

本文详细介绍了数据库触发器的概念、创建及维护方法。触发器是一种特殊类型的存储过程,当特定的事件发生时自动执行。文章还解释了如何通过不同命令管理触发器,并对比了触发器与存储过程、自定义函数之间的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、触发器

1、概述
触发器是存储在服务器中的程序单元,不能够直接被调用,只有触发条件成立时,才能执行;

2、触发事件
①insert,update,delete;
②create,alter,drop;
③logon,logoff;
④startup/shutdown;

3、触发时间
①before;
②after;

4、触发级别
①行触发:每一行都有可能触发;
②语句触发:一个sql语句只可能触发一次;

5、创建触发器

create or replace TRIGGER demo_trigger
AFTER DELETE
on demo_table
BEGIN
	IF DELETING THEN
		DBMS_OUTPUT.PUT_LINE('删除成功!');
	END IF;
END;

6、注意
创建触发器的类型关键字是TRIGGER,触发时间可以选BEFORE或者AFTER,触发动作是DELETE(也可以是
INSERT,UPDATE,SELECT等),作用对象用on来表示,后面接表名(也可以在表名前加上数据库名,在
中间用.隔开);判断条件是DELETING;

二、维护触发器

创建触发器后,用户不能调用触发器,但是可以对触发器进行查看,修改;
1、修改触发器
使用replace 或者在创建触发器的时候使用create or replace关键字;

2、重新编译触发器
ALTER TRIGGER demo_trrigger compile;

3、查看触发器脚本
select Object_name from user_objects where object_type =‘TRIGGER’;

4、查看触发器具体的脚本
select * from user_source where name=‘TRIGGER’;

5、禁用和启动触发器
5.1、禁用触发器
ALTER TRIGGER demo_trrigger DISABLE;

5.2、启动触发器
ALTER TRIGGER demo_trrigger ENABLE;

6、删除触发器
DROP TRIGGER demo_trrigger;

7、触发器和存储过程,自定义函数的区别;
触发器没有参数,没有返回值,触发执行,不能由用户直接调用;触发器的作用是能够实现事务
的一致性,能够对数据库的表进行级联修改等;

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

陶洲川

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值