替代触发器和系统触发器
为什么使用instead of触发器?
在简单的视图上往往可以执行insert update delete操作的,但在复杂视图上是有限制的,比如有分组 集合运算符的,这时就需要建立替代触发器
instead of是只适用于视图上的一种触发器,不能指定before和after选项,
create or replace trigger instead_of_trigger
instead of insert
on emp_dept
for each row
declarev_temp int;
beginselect count(*) into v_temp from dept where deptno=:new.deptno;if v_temp=0 theninsert into dept(deptno,dname) values(:new.deptno,:new.dname);end if;select count(*) into v_temp from emp where empno:=new.empno;if v_temp=0 theninsert into emp(empno,ename,deptno) values(:new.empno,:new.ename,:new.deptno);end if;
end;
系统触发器
系统触发器是由特定系统事件所触发的触发器,是指与例程或方案相关的数据库事件,它包括STARTUP、SHUTDOWN、DB_ROLE_CHANGE和SERVERERROR的四种事件。
STARTUP事件触发器是在启动数据库后触发
SHUTDOWN事件触发器是在关闭数据之前触发
DB_ROLE_CHANGE事件触发器在改变角色后第一次打开数据库时触发
SERVERERROR事件触发器在发生Oracle错误时触发
create or replace trigger startup_trigger
after startup on database
begininsert into event_table values(ora_sysevent,SYSDATE);
end
替代触发器和系统触发器相关推荐
- oracle触发器超过上限,ORACLE系统触发器的疑问,限制IP登录数
本帖最后由 bjddd192 于 2013-12-14 07:26 编辑 CREATE OR REPLACE TRIGGER TRG_LOGON_AUDIT --------------------- ...
- 2017.0322.数字电路与系统-触发器
触发器的描述 1.时序图(也称为工作波形图) 时序图分为两种,一种是理想的时序图,两一种是实际的时序图.理想的时序图,不考虑门的延迟,也不考虑门电路翻转的时间. 画理想的时序图时,因为整个图形包含输入 ...
- 销售系统数据库触发器MySQL_mysql数据库触发器详解
2.1 Mysql触发器的基本使用 创建触发器.创建触发器语法如下: CREATE TRIGGER trigger_name trigger_time trigger_event ON tbl_n ...
- oracle 创建触发器_oracle创建触发器
创建触发器 创建触发器的一般语法是: CREATE [OR REPLACE] TRIGGER trigger_name {BEFORE | AFTER } {INSERT | DELETE | UPD ...
- oracle 停止触发器语句,oracle触发器语句
ORACLE中触发器的判断IF语句 加一行 NULL 即可例如:SQL> DECLARE 2 testvalue INT; 3 BEGIN 4 testvalue := 200; 5 6 IF ...
- oracle触发器 条件,oracle触发器的定义和使用
触发器定义:当特定事件出现的时候,自动执行的代码块.类似于存储过程,但是用户不能直接调用也不能传递参数. 触发器功能: 1. 允许/限制对表的修改 2. 自动生成派生列,比如自增字段 3. 强制数据一 ...
- Oracle 原理:DML触发器和数据库触发器
一.DML触发器 触发器的作用即当某个事件发生时会自动执行执行程序段里的内容. 触发器可以作用于表或者视图,可以指定在insert 或update 或delete 操作前.操作时.操作后 执行特定的 ...
- Oracle触发器和MySQL触发器之间的区别
原文链接:http://blog.csdn.net/a19881029/article/details/37820363 --------------------------------------- ...
- DDL触发器与DML触发器比较
DML触发器 DML触发器就是普通的 INSERT / UPDATE / DELETE 触发器. DDL触发器就是一些特有的 DDL 语句的触发器. 例如:登陆到服务器的触发, 创建数据库的触发. ...
最新文章
- php+date+timezoe,PHP 字符串
- 【网站】Kiwi浏览器中文网
- 29.C++- 异常处理
- led投影仪能换大功率灯吗_LED大功率洗墙灯怎么防水
- (一)netty介绍
- AI(3)--手机上的AI技术
- Hash (散列,哈希)
- C++重载操作符详解
- phpcms 调用多级栏目和多级栏目下的文章列表
- Entity Framework 代码先行之约定配置
- ai快捷键常用表_掌握这些AI常用快捷键和小技巧,提高速度
- idea导出war包并部署在tomact
- BEC剑桥英语高级真题4 Test 2-Part 2-High fliers of the future head for specialist fairs
- CookGAN Causality based Text-to-Image Synthesis
- 移植 u-boot-2020.07 到 iTOP-4412(二)地址相关码 boot
- DSP TMS320F2803x CLA 指令
- Maven系列之使用阿里云仓库
- 神武服务器维护打副本,《神武4》电脑版:零氪也能玩转新服 注重细节能挣不少神武币...
- ae怎样设置gpu渲染
- tableau无法建立连接_Tableau入门(一):数据连接