为什么使用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

替代触发器和系统触发器相关推荐

  1. oracle触发器超过上限,ORACLE系统触发器的疑问,限制IP登录数

    本帖最后由 bjddd192 于 2013-12-14 07:26 编辑 CREATE OR REPLACE TRIGGER TRG_LOGON_AUDIT --------------------- ...

  2. 2017.0322.数字电路与系统-触发器

    触发器的描述 1.时序图(也称为工作波形图) 时序图分为两种,一种是理想的时序图,两一种是实际的时序图.理想的时序图,不考虑门的延迟,也不考虑门电路翻转的时间. 画理想的时序图时,因为整个图形包含输入 ...

  3. 销售系统数据库触发器MySQL_mysql数据库触发器详解

    2.1   Mysql触发器的基本使用 创建触发器.创建触发器语法如下: CREATE TRIGGER trigger_name trigger_time trigger_event ON tbl_n ...

  4. oracle 创建触发器_oracle创建触发器

    创建触发器 创建触发器的一般语法是: CREATE [OR REPLACE] TRIGGER trigger_name {BEFORE | AFTER } {INSERT | DELETE | UPD ...

  5. oracle 停止触发器语句,oracle触发器语句

    ORACLE中触发器的判断IF语句 加一行 NULL 即可例如:SQL> DECLARE 2 testvalue INT; 3 BEGIN 4 testvalue := 200; 5 6 IF ...

  6. oracle触发器 条件,oracle触发器的定义和使用

    触发器定义:当特定事件出现的时候,自动执行的代码块.类似于存储过程,但是用户不能直接调用也不能传递参数. 触发器功能: 1. 允许/限制对表的修改 2. 自动生成派生列,比如自增字段 3. 强制数据一 ...

  7. Oracle 原理:DML触发器和数据库触发器

    一.DML触发器 触发器的作用即当某个事件发生时会自动执行执行程序段里的内容. 触发器可以作用于表或者视图,可以指定在insert 或update 或delete  操作前.操作时.操作后 执行特定的 ...

  8. Oracle触发器和MySQL触发器之间的区别

    原文链接:http://blog.csdn.net/a19881029/article/details/37820363 --------------------------------------- ...

  9. DDL触发器与DML触发器比较

    DML触发器 DML触发器就是普通的  INSERT / UPDATE / DELETE 触发器. DDL触发器就是一些特有的 DDL 语句的触发器. 例如:登陆到服务器的触发, 创建数据库的触发.  ...

最新文章

  1. php+date+timezoe,PHP 字符串
  2. 【网站】Kiwi浏览器中文网
  3. 29.C++- 异常处理
  4. led投影仪能换大功率灯吗_LED大功率洗墙灯怎么防水
  5. (一)netty介绍
  6. AI(3)--手机上的AI技术
  7. Hash (散列,哈希)
  8. C++重载操作符详解
  9. phpcms 调用多级栏目和多级栏目下的文章列表
  10. Entity Framework 代码先行之约定配置
  11. ai快捷键常用表_掌握这些AI常用快捷键和小技巧,提高速度
  12. idea导出war包并部署在tomact
  13. BEC剑桥英语高级真题4 Test 2-Part 2-High fliers of the future head for specialist fairs
  14. CookGAN Causality based Text-to-Image Synthesis
  15. 移植 u-boot-2020.07 到 iTOP-4412(二)地址相关码 boot
  16. DSP TMS320F2803x CLA 指令
  17. Maven系列之使用阿里云仓库
  18. 神武服务器维护打副本,《神武4》电脑版:零氪也能玩转新服 注重细节能挣不少神武币...
  19. ae怎样设置gpu渲染
  20. tableau无法建立连接_Tableau入门(一):数据连接

热门文章

  1. 数字校园建设方案技术建议书
  2. 二叉树的先序遍历(C++)
  3. 某人写的openCV学习笔记_拔剑-浆糊的传说_新浪博客
  4. SimpleDateFormat的坑
  5. ROS自定义消息类型,编译无法生成 msg/srv 文件产生的头文件
  6. 互动直播之WebRTC服务器Kurento实战
  7. Cocos2dx 之 cocosbuilder的使用
  8. DP算法:动态规划算法
  9. Linux驱动 | 加载.ko驱动模块的两种方法(insmod与modprobe)
  10. kill和killall的区别