基础书籍中记录下来的。
--1、语句触发器 create or replace trigger tr_insert_test1 before insert on test1 begin if user!='admin' then raise_application_error(-20001,'权限不足,不能向数据表中插入数据1'); end if; end; --多个激活动作 create or replace trigger tr_insert_test2 before insert or update or delete on test1 begin if user!='KELY' then--区分大小写,统一大写 raise_application_error(-20001,'权限不足,不能向数据表中插入数据2'); end if; end; --触发器谓词:INSERTING、UPDATING、DELETING(类型布尔值) --记录数据库表操作日志,使用触发器 create table t_log( u_name varchar2(20), action varchar2(50), log_time date default sysdate ); create or replace trigger tr_table_log after insert or update or delete on test1 begin if inserting then insert into t_log(u_name,action) values(user,'insert'); end if; if updating then insert into t_log(u_name,action) values(user,'update'); end if; if deleting then insert into t_log(u_name,action) values(user,'delete'); end if; end; --禁用表的权限校验触发器 alter trigger tr_table_log enable;--disable/enable --总结:作用级别为表(不支持视图before/after insert和表before/after select), -- 无论触发动作影响到多少记录都执行一次触发器 --2、行触发器 insert update delete :old 不可用 可用 可用 :new 可用 可用 不可用 --实例 create or replace trigger tr_test1_history before update or delete on test1 for each row --行触发器的标志 begin insert into test1_history values(:old.tid,:old.tname,:old.tage,:old.remark); end; --变量引用于referencing create or replace trigger tri_test1_insert before insert on test1 referencing new as new_value for each row begin declare max_id number; begin select max(tid) into max_id from test1; :new_value.tid := max_id+1; end; end; --触发器的条件限制 --3、instead of触发器(视图) --4、系统事件与用户事件触发器 --系统事件触发器 --after startup/before shutdown(系统事件) on database --用户事件触发器 -- on system.schema:指定触发器的作用对象为用户system的所有对象(表名) --5、触发器相关操作 --禁用/启用触发器:disable(alter trigger tr_name disable/enable) --数据字典中查看触发器:user_objects/user_triggers
相关推荐
Oracle触发器基础教程.pdf
这是个pdf格式的文件,主要描述了Oracle 触发器语法及实例基础知识。希望能够给大家带来帮助(*^__^*)
关于oracle触发器和存储过程的基础教程
介绍了oracle存储过程的实现、存储过程的调用和触发器语法及实例的基础知识
Oracle12c数据库基础教程Oracle12c数据库游标、存储过程和触发器.pptx
1.掌握oracle表的管理(创建/维护) 2.掌握对oracle表的各种查询技巧 3.学会创建新的oracle数据库 4.掌握oracle表对数据操作技巧 ...18.会编写oracle各种触发器 19.理解视图的概念并能灵活使用视图
3. 掌握oracle数据库体系机构,为oracle优化奠定基础。 三、适合人群: 1.有意从事oracle 数据库工作,担任dba角色的人员; 2. Oracle数据库设计、开发和备份等管理人员; 四、课程内容: 第一讲:Oracle体系结构 ...
介绍了Oracle基础,sql基础,存储过程开发等
oracle存储过程、函数和触发器 比较基础的源代码
文档内容是oracle的基础,包括oracle对象中的存储过程,大对象,触发器,包,表,索引,视图,表空间等等基础知识。
oracle基础: ①:如何进入Oracle ②:常见的开发工具 ③:创建/DB/TB/用户 授权等操作 二. oracle体系结构组件 ①:oracle完整的体系结构 ②:oracle实例的组成 ③:oracle数据库的组成 三.SQL函数与SQL查询 ①:Oracle...
主要包括两个部分,第一部分是ORACLE SQL*PLUS基础,主要讲述ORACLE 应用系统设计的基本知识和给出一些有用的实例;第二部分是介绍ORACLE PL/SQL知识,主要讲述ORACLE数据库PL/SQL程序设计所用到基本知识,这部分给...
Oracle比较全面的培训教程...ch14触发器.ppt ch15事务处理和并发控制.ppt ch16闪回操作.ppt ch17数据传输技术.ppt ch18使用大对象技术.ppt chap19Oracle的数据字典.ppt 应该可以帮助你快速而又全面的熟悉Oracle数据库。
oracle rownum,Oracle数据库速查知识文档,oracle基础使用、SQL基础、oracle函数、oracle触发器、oracle高级查询、PL/SQL编程基础、PL/SQL存储过程等
oracle 游标、存储过程、函数、触发器、优化; 所有sql可以直接运行; 此教程针对oracle初学者(要求有一定的sql基础) 每一条sql都为自己整理,有问题的话也可以联系我! 请参考系列文章:...
公文基础信息表(documentBaseInfo_tab) AB角工作分工信息表(divideWork_tab) 公文督办基础信息表(superviseBaseInfo_tab) 人员在岗信息表(guardInfo_tab) 周工作计划信息表(planOfWeek_tab) /******...
该项目记录了Oracle相关的速查知识汇总,主要涉及了oracle基础使用、SQL基础、oracle函数、oracle触发器、oracle高级查询、PL/SQL编程基础、PL/SQL存储过程等。若有新增,还将不断添加中。
本讲稿(ORACLE8i 数据库基础)是作者在多年的工作和授课中的总结,主要包括两个部分,第一部分是ORACLE SQL*PLUS基础,主要讲述ORACLE 应用系统设计的基本知识和给出一些有用的实例;第二部分是介绍ORACLE PL/SQL知识...
本讲稿(ORACLE8i 数据库基础)是作者在多年的工作和授课中的总结,主要包括两个部分,第一部分是ORACLE SQL*PLUS基础,主要讲述ORACLE 应用系统设计的基本知识和给出一些有用的实例;第二部分是介绍ORACLE PL/SQL...
oracle 存储过程的基本语法,关于oracle存储过程的若干问题备忘,oracle 存储过程语法总结及练习;oracle语法:Oracle触发器语法及实例基础知识(一)。