PL/SQL学习笔记-触发器

简介: 一:语句级触发器语句级触发器是指当执行DML操作时,以语句为单位执行的触发器(注意与下面提到的行级触发器比较)先看代码 create or replace trigger xland_trigger before insert or update or delete on labor.

一:语句级触发器
语句级触发器是指当执行DML操作时,以语句为单位执行的触发器
(注意与下面提到的行级触发器比较)
先看代码

create or replace trigger xland_trigger
before insert
or update
or delete
on labor.xland
begin
if(to_char(sysdate,'DAY') in ('星期六','星期日'))
or (to_char(sysdate,'HH24') not between 8 and 18) then
raise_application_error(-20001,'不是上班时间');
end if;
end;


执行以下代码测试

insert into labor.xland (xland.title,xland.content,xland.state) values ('123','234',3);

ORACLE抛出异常
image 

二:行级触发器
行级触发器是指执行DML操作时,以数据行为单位执行的触发器,每一行都执行一次触发器
先看代码:

create or replace trigger xland_trigger
before insert 
on labor.xland
for each row
begin
   if :new.title = 'xland' then
      insert into labor.xland (xland.title,xland.content,xland.state) values ('123','cha2',3);
   end if;
end;

执行以下代码测试

insert into labor.xland (xland.title,xland.content,xland.state) values ('xland','cha1',3);


结果:
image 
在行级触发器中可以对列的值进行访问(很重要!)
列名前加   :old.    表示变化前的值
列名前加   :new.    表示变化后的值
在when子句中不用冒号。

三:instead of 触发器(视图上的触发器)
先看代码

create or replace trigger t_xland
instead of insert
on v_xland
for each row
begin
insert into xland (title,content,state) values ('1','1',1);
end;


其实就是取代了insert语句和其他触发器没什么大区别

四:删除触发器

drop trigger t_xland;
目录
相关文章
|
5月前
|
算法 数据挖掘 数据库
通过 SQL 快速使用 OceanBase 向量检索学习笔记
通过 SQL 快速使用 OceanBase 向量检索学习笔记
|
5月前
|
SQL 数据库
SQL 学习笔记 - 多表关系与多表查询
数据库多表关系包括一对多、多对多和一对一,常用外键关联。多表查询方式有隐式/显式内连接、外连接、子查询等,支持别名和条件筛选。子查询分为标量、列、行、表子查询,常用于复杂查询场景。
|
SQL 数据采集 监控
局域网监控电脑屏幕软件:PL/SQL 实现的数据库关联监控
在当今网络环境中,基于PL/SQL的局域网监控系统对于企业和机构的信息安全至关重要。该系统包括屏幕数据采集、数据处理与分析、数据库关联与存储三个核心模块,能够提供全面而准确的监控信息,帮助管理者有效监督局域网内的电脑使用情况。
203 2
|
SQL Oracle 关系型数据库
SQL与PL/SQL:数据库编程语言的比较
【8月更文挑战第31天】
528 1
|
SQL 存储 数据管理
深入理解SQL中的触发器
【8月更文挑战第31天】
635 0
|
存储 SQL 数据库
SQL 语言:存储过程和触发器
SQL 语言:存储过程和触发器
377 6
|
SQL 关系型数据库 MySQL
简简单单 My SQL 学习笔记(1)——表中数据的整删改查
简简单单 My SQL 学习笔记(1)——表中数据的整删改查
|
SQL 关系型数据库 MySQL
简简单单 My SQL 学习笔记(2)——分组和简单数据的查询
简简单单 My SQL 学习笔记(2)——分组和简单数据的查询
|
SQL 关系型数据库 MySQL
简简单单 My SQL 学习笔记(3)——连接和嵌套查询
简简单单 My SQL 学习笔记(3)——连接和嵌套查询
|
SQL Oracle 关系型数据库
Oracle的PL/SQL游标自定义异常:数据探险家的“专属警示灯”
【4月更文挑战第19天】Oracle PL/SQL中的游标自定义异常是处理数据异常的有效工具,犹如数据探险家的警示灯。通过声明异常名(如`LOW_SALARY_EXCEPTION`)并在满足特定条件(如薪资低于阈值)时使用`RAISE`抛出异常,能灵活应对复杂业务规则。示例代码展示了如何在游标操作中定义和捕获自定义异常,提升代码可读性和维护性,确保在面对数据挑战时能及时响应。掌握自定义异常,让数据管理更从容。

热门文章

最新文章