替代触发器
替代视图增删改操作。视图可以认为成逻辑上的一张表,类似于把一个sql语句的执行结果永久的像表存储到数据
库中,视图一般用来做查询。
创建视图的语法:
create view 视图名称 as sql语句;
--创建视图 ,存储部门编号,部门的平均工资,部门总人数,部门员工的最高工资
create view vi_dept as
select d.deptno ,avg(e.sal) avg_sal,count(e.empno) emp_count,max(e.sal) emp_sal
from dept d left join emp e on d.deptno=e.deptno
group by d.deptno
;
--删除视图
drop view vi_dept;
使用视图和使用表一样,可以从视图中查询数据:
select * from vi_dept where deptno=10;
但是,数据库是不允许从视图中删除或者修改数据:

有的时候是有删除或者修改视图数据这种需求的,所以可以创建替代触发器,来执行视图的删除操作。
创建替代触发器语法:
create or replace trigger 触发器名称
instead of
delete update insert 触发操作
on
视图名称 注意 替代触发器只能用到视图上
when 触发条件
begin
语句块;
end;
注意:
--创建视图 ,存储部门编号,部门的平均工资,部门总人数,部门员工的最高工资
create view vi_dept as
select d.deptno ,avg(e.sal) avg_sal,count(e.empno) emp_count,max(e.sal) emp_sal
from dept d left join emp e on d.deptno=e.deptno
group by d.deptno
;
--删除视图
drop view vi_dept;
select * from vi_dept where deptno=10;1,for each row 替代触发器 默认就是行级触发器,所以就不需要加for each row了
2,替代触发器不需要有after或者before 触发时机
举例:写一个替代触发器,替代vi_dept的删除操作

Oracle触发器之替代触发器的更多相关文章

  1. Oracle触发器之系统触发器

    系统触发器 可以用系统触发器记录一些ddl的数据操作或者是数据库的登录 或者登出操作. 语法: create or replace trigger 触发器名称 before/after 触发器时机 事 ...

  2. ORACLE触发特定的解释

    ORACLE PL/SQL编程八: 把触发器说透 本篇主要内容例如以下: 8.1 触发器类型 8.1.1 DML触发器 8.1.2 替代触发器 8.1.3 系统触发器 8.2 创建触发器 8.2.1 ...

  3. .Net程序员学用Oracle系列(25):触发器详解

    1.触发器理论 1.1.触发器的应用场景 1.2.触发器的类型 1.3.DML 触发器的触发顺序 2.触发器实战 2.1.创建触发器 2.1.1.创建 DML 触发器 2.1.2.创建 DDL 触发器 ...

  4. Oracle学习笔记之触发器

    触发器 触发器(trigger)是一些过程,与表关系密切,用于保护表中的数据,当一个基表被修改(INSERT.UPDATE或DELETE)时,触发器自动执行,例如通过触发器可实现多个表间数据的一致性和 ...

  5. 【Oracle】详解ORACLE中的trigger(触发器)

    本篇主要内容如下: 8.1 触发器类型 8.1.1 DML触发器 8.1.2 替代触发器 8.1.3 系统触发器 8.2 创建触发器 8.2.1 触发器触发次序 8.2.2 创建DML触发器 8.2. ...

  6. ORACLE PL/SQL:触发器

    ORACLE PL/SQL 触发器 本篇主要内容如下: 8.1 触发器类型 8.1.1 DML触发器 8.1.2 替代触发器 8.1.3 系统触发器 8.2 创建触发器 8.2.1 触发器触发次序 8 ...

  7. Oracle 学习笔记 19 -- 触发器和包浅析(PL/SQL)

    触发器是存放在数据库中的一种特殊类型的子程序.不能被用户直接调用,而是当特定事件或操作发生时由系统自己主动 调用执行.触发器不能接受參数.所以执行触发器就叫做触发或点火.Oracle事件指的是数据库的 ...

  8. Oracle Day09 存储与触发器

    1.存储 存储过程.存储函数:指存储在数据库中供所有用户程序调用的子程序. --创建存储过程(procedure) --用create procedure 命令建立存储过程. 格式: create o ...

  9. .Net程序员学用Oracle系列(8):触发器、作业、序列、连接

    1.触发器 2.作业 2.1.作业调度功能和应用 2.2.通过 DBMS_JOB 来调度作业 3.序列 3.1.创建序列 3.2.使用序列 & 删除序列 4.连接 4.1.创建连接 4.2.使 ...

随机推荐

  1. Mysqldump参数大全 这 些参数 不同于 mysql 的那些参数(下边文章开头有链接) :2 种类型的参数含义是不一样的

    Mysqldump参数大全  这 些参数 不同于 mysql 的那些参数  :2 种类型的参数含义是不一样的 Mysqldump参数大全(参数来源于mysql5.5.19源码) 参数 参数说明 --a ...

  2. GeoGebra重复手段实现

    1.自定义工具部分可以在网上搜一些别人做的工具,主要是把自己经常做的一些任务做成工具,减少重复过程 2.列表部分的简单操作如图所示,实现对三个点的多项式拟合 3.通过序列指令格式可以做一个好玩的效果, ...

  3. 【简单了解系列】从基础的使用来深挖HashMap

    HashMap定义 说的专业一点,HashMap是常用的用于存储key-value键值对数据的一个集合,底层是基于对Map的接口实现.每一个键值对又叫Entry,这些Entry分散的存储在一个由数组和 ...

  4. Eureka源码分析

    源码流程图 先上图,不太清晰,抱歉 一.Eureka Server源码分析 从@EnableEurekaServer注解为入口,它是一个标记注解,点进去看 注解内容如下 /** * 激活Eureka服 ...

  5. 今天我们来讨论一下CSS3属性中的transition属性;

    transition属性是CSS3属性:顾名思义英文为过渡的意思:主要有四个值与其一一对应:分别是property(CSS属性名称),duration过渡的时长,timimg-function转速曲线 ...

  6. 2007 NOIP T1奖学金

    奖学金(07NOIPT1): [题目描述] 某小学最近得到了一笔赞助,打算拿出其中一部分为学习成绩优秀的前5名学生发奖学金.期末,每个学生都有3门课的成绩:语文.数学.英语.先按总分从高到低排序,如果 ...

  7. 你知道什么是 GitHub Action 么?

    本文是 GitHub Action 的入门教程,如您已有相关使用经验可以直接关掉. GitHub Action 是 GitHub 于 2018 年 10 月推出的一个 CI\CD 服务. 之前一直都是 ...

  8. Des对称可逆加密

    /// <summary> /// DES AES Blowfish ///  对称加密算法的优点是速度快, ///  缺点是密钥管理不方便,要求共享密钥. /// 可逆对称加密  密钥长 ...

  9. ArangoDB 3.5:流事务API、搜索性能大幅提升、最短路径功能

    ArangoDB 3.5 发布了.ArangoDB 是一个分布式原生的多模型数据库,具有灵活的文档.图形和键值数据模型.使用方便的 SQL 查询语言或 JavaScript 扩展构建高性能应用程序. ...

  10. Python推荐系统框架:RecQ

    RecQ是一个用于推荐系统的python库(python2.7.x),实现了一些state-of-the-art的推荐算法. github地址:https://github.com/Coder-Yu/ ...