一:语句级触发器
语句级触发器是指当执行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抛出异常
二:行级触发器
行级触发器是指执行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);
在行级触发器中可以对列的值进行访问(很重要!)
列名前加
ld. 表示变化前的值
列名前加 :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;
3 0 0
(请您对文章做出评价)
分享到:
相关推荐
PL/SQL是Oracle公司开发的一种过程化SQL扩展,它是Oracle数据库的重要组成部分,用于在数据库服务器上编写存储过程、函数、触发器、包等可执行代码。PL/SQL可以处理复杂的数据操作和业务逻辑,支持编程结构如循环、...
通过实践编写存储过程、函数和触发器,你可以逐渐掌握PL/SQL的强大功能,并利用它来解决实际的数据库编程问题。对于初学者来说,循序渐进、结合实例学习是最有效的途径。本教程将逐步引导你深入这个领域,让你熟练...
ORACLE PL/SQL是从入门到精通的专业知识,涵盖了数据库开发与管理的多个方面,包括触发器、过程、函数、软件包、异常处理、游标、循环、分支、变量使用、数据库安装等关键知识点。 触发器是数据库中用来保证数据...
总的来说,“PL/SQL超级笔记”应该涵盖了从基本语法到高级特性的全面教程,通过学习,新手可以逐步掌握如何使用PL/SQL进行数据库编程,从而更好地管理和操作Oracle数据库。配合"oracle_ppt"中的PPT材料,学习效果会...
PL/SQL部分未在提供的内容中出现,但它是Oracle的扩展,允许编写存储过程、函数、触发器等,增强了SQL的功能。它结合了SQL查询与过程式编程语言,使数据库管理更加灵活和高效。 这些笔记提供了学习SQL和Oracle...
PL/SQL,全称为Procedural Language/Structured Query Language,是Oracle数据库的一种扩展,它将SQL(结构化查询语言)与过程式编程语言相结合,为数据库管理提供了强大的编程能力。以下是对PL/SQL的一些核心知识点...
Oracle笔记(PL-SQL)是关于数据库管理和编程的一个重要主题,主要聚焦于Oracle数据库系统中的结构化查询语言(SQL)的扩展——PL/SQL。PL/SQL是一种过程化语言,结合了SQL的功能,使得开发者能够编写复杂的数据库应用...
PL/SQL,全称是Procedural Language/Structured Query Language,...PL/SQL的教程如“PLSQL 笔记版教程 PDF”将涵盖这些基本概念以及更高级的主题,帮助学习者系统地掌握这门语言,从而在Oracle数据库开发中游刃有余。
PL/SQL 学习笔记总结 PL/SQL 是 Oracle 在标准 SQL 语言上的扩展,提供了更多的编程功能,例如定义变量和常量、使用条件语句和循环语句、例外处理等。使用 PL/SQL 可以提高开发效率和数据库性能。 PL/SQL 的优点 ...
Oracle数据库管理员(DBA)的PL/SQL学习笔记主要包括了以下几个知识点: 一、PL/SQL基本的语法格式 PL/SQL是Oracle提供的过程化语言,其基本的语法格式如下: - 声明部分(DECLARE):用于声明变量、常量、游标、...
Oracle PL/SQL编程是Oracle数据库开发中的核心技能之一,它是一种强大的过程式语言,用于在Oracle环境中编写存储过程、函数、触发器等数据库程序。第五版的《Oracle PL SQL Programming》是一本深入学习PL/SQL的权威...
这些笔记涵盖了SQL和PL/SQL的基础知识,适合初学者了解和掌握数据库操作的基本概念和语法。随着经验的积累,开发者可以深入学习高级特性和最佳实践,如性能优化、并发控制、数据库设计等,以提升在Oracle数据库环境...
### Oracle 10g PL/SQL 实战笔记关键知识点解析 #### 一、PL/SQL 概述 - **PL/SQL** (Procedural Language for SQL) 是 Oracle 数据库的一种扩展,它允许用户在 SQL 的基础上进行更复杂的程序设计。 - **特性**: ...
这些只是PL/SQL学习笔记的部分内容,实际使用中还会涉及游标、子程序、异常处理、动态SQL等多个方面。掌握PL/SQL能帮助开发者更有效地管理和操作Oracle数据库,实现复杂的数据处理任务。通过不断实践和学习,你可以...
描述中提到的内容包含了游标、存储过程、触发器以及集合等PL/SQL的重要概念,并指出学习笔记中包含练习题,这有助于初学者加深理解并掌握PL/SQL编程。 从提供的部分内容来看,知识点包括以下几个方面: 1. SET ...
例如,`Command Window`可以用来执行SQL命令和PL/SQL块,`Program Window`用于创建和修改各种子程序,如过程、函数、包和触发器,而`Test Window`则允许测试和追踪PL/SQL子程序的运行结果,便于调试和优化。...
在Oracle环境中,PL/SQL(Procedural Language for SQL)是一种过程化的编程语言,主要用于编写存储过程、函数、触发器等组件,以此来增强数据库的功能性和安全性。 1. **扩展Oracle数据库的编程性能**:通过将业务...
### 精通Oracle 10g PL/SQL编程学习笔记 #### 一、PL/SQL综述 **1.1 PL/SQL的功能与作用** PL/SQL (Procedural Language for SQL) 是一种专门为Oracle数据库设计的过程化语言,它结合了SQL的数据处理能力与过程化...