INSTEAD OF 触发器只作用于视图上,不能作用于表上。

本来是不能在视图上INSERT、UPDATE、DELETE数据的,创建INSTEAD OF 触发器后,就可以了。

先创建两张表:

CREATE TABLE TB_A (ID INTEGER NOT NULL, COL VARCHAR2(20) NOT NULL);

CREATE TABLE TB_B (ID INTEGER NOT NULL, COL VARCHAR2(20) NOT NULL);

然后创建视图:

CREATE OR REPLACE VIEW VW_AB

AS SELECT A.ID, A.COL COLA, B.COL COLB

FROM TB_A A, TB_B B

WHERE A.ID = B.ID;

创建触发器:

CREATE OR REPLACE TRIGGER TRI_V_AB

INSTEAD OF INSERT ON VW_AB

FOR EACH ROW

BEGIN

INSERT INTO TB_A VALUES (:NEW.ID, :NEW.COLA);

INSERT INTO TB_B VALUES (:NEW.ID, :NEW.COLB);

END;

然后就可以INSERT数据到视图了:

INSERT INTO VW_AB VALUES (1, 'A1', 'B1');

COMMIT;

oracle instead of update触发器,oracle INSTEAD OF 触发器相关推荐

  1. oracle千万行update优化,Oracle的update优化

    Oracle的update语句优化研究 一. update语句的语法与原理 1. 语法 单表:UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值如:update t_join ...

  2. oracle instead of update触发器,Oracle中的instead of触发器

    Instead of : 用Trigger的内容替换 事件本身的动作,该触发器用在视图上,举例: 一:创建一个update替代触发器 (1)创建一个视图 1 create or replace vie ...

  3. oracle数据库登录失败触发器,oracle数据库登录、DDL触发器的应用

    登录触发器 oracle登录记录触发器: 1.创建日志记录表: CREATE TABLE SYSTEM.LOGIN_LOG ( SESSION_ID NUMBER, LOGIN_ON_TIME DAT ...

  4. oracle行级的触发器,Oracle触发器Trigger2行级

    create table trigger_t2( id int, name varchar(30), age int ); /* --创建一个before update的触发器-控制每一行,行级 -- ...

  5. Oracle入门(十四.19)之触发器简介

    一.触发器的需求 让我们从一个例子开始吧:一条业务规则规定,只要员工的工资发生变化,变更就必须记录在日志记录表中. 可以创建两个过程来执行此操作: UPD_EMP_SAL更新工资,LOG_SAL_CH ...

  6. oracle用户的追踪文件,Oracle中怎样通过触发器来追踪用户的活动?

    从Oracle8i开始,Oracle引入了特殊的触发器,这些触发器并不是和特殊的DML事件相关联的(DML事件,如,INSERT,UPDATE和DELETE).这些系统级别的触发器包括数据库启动触发器 ...

  7. 使用plsql创建oracle,在Oracle下使用PLSQL Developer创建简单的触发器

    环境:PLSQL Developer 7.1.5 + Oracle 11.2.0 问题:在Oracle下使用PLSQL Developer创建简单 的触发器. 解决: 步骤一:在PLSQL Devel ...

  8. oracle建个触发器,oracle数据库如何创建触发器实例

    Oracle DBA Studio 工具里面就能创建触发器 CREATE TRIGGER 名称 CREATE TRIGGER - 创建一个新触发器 语法 CREATE TRIGGER name { B ...

  9. oracle怎么使用触发器,Oracle触发器的使用

    Oracle触发器的使用 触发器是指存放在数据库中,并被隐藏执行的存储过程.在Oracle8i之前,只允许基于表或视图的DML操作(insert,update,delete)建立触发器,在oracle ...

  10. oracle中 关于触发器,oracle 闪回关于触发器的bug

    SQL> create table test1 (cola varchar2(10) ); 表已创建. SQL> create table test2 (colb varchar2(10) ...

最新文章

  1. jenkins+svn搭建
  2. java的方法什么时候加载,java – JVM什么时候加载类?
  3. 爱可可推荐!关于竞赛思路,方法和代码实践,数据竞赛Baseline开源分享!
  4. cnn对网络数据预处理_CNN中的数据预处理和网络构建
  5. Java泛型,枚举,注解
  6. html页面li节点排序,排序DOM节点的最简单方法?
  7. 如何设置postfix别名邮件组只接受本域的邮件
  8. Python BeautifulSoup库 API
  9. poj1390 (区间dp)
  10. Python Selenium系列学习
  11. Linux 中断详解
  12. solidworks入门实例画图_分享用SolidWorks绘制的鸡蛋托盘,学会借助于曲面生成波浪线草图...
  13. python中%s是什么意思_python的%s是什么意思
  14. 1154 Vertex Coloring
  15. 流程图(flowchart)语法
  16. SpringBoot+Vue实现简单用户管理平台第一篇(后端接口设计)
  17. hive2.3.2+mysql5.7.21驱动包_2018-08-30期 Hive外部元数据库配置
  18. 多设备monkey测试工具_基于Tkinter GUI操作
  19. 关于hxxp //www hj234 com的问题
  20. 概率函数P(x)、概率分布函数F(x)与概率密度函数f(x)的区别

热门文章

  1. 如何清除web 服务器的缓存
  2. mysql关于学校的专业院系_大学里分的院校和分专业系有什么不同
  3. fastdfs原理_搭建分布式文件系统FastDFS集群
  4. win10兼容android下载安装,Win10手机运行安卓App兼容工具下载!
  5. Python中fastapi构建的web项目配置环境变量
  6. Linux系统中源码包tomcat的管理
  7. linux awk搜索文本最后个字符串,[转载]linux下的文本处理命令sedawkgrep
  8. access中判断回文的代码_前端也来点算法(TypeScript版) | 2 - 回文数和回文链表
  9. jqgrid ajax reload,于jqgrid.trigger('reloadGrid')方法不能重新加载页面的问题
  10. linux6 rac 11g,oracle linux 6.操作系统oracle 11g rac