mysql instead of触发_Instead of触发器
INSTEAD OF触发器
创建一个Insert替代触发器,用于执行复杂视图更新(插入)操作
仅可用来执行多表关联的视图
若创建视图的语句中含有聚合函数等,则无法更新
create or replace view myview as
2 select e.empno,e.ename,e.job,e.sal,d.deptno,d.dname,d.loc
3 from emp e,dept d
4 where e.deptno=d.deptno and d.deptno=20
5 ;
create or replace trigger view_trigger
instead of insert on myview
for each row
declare
v_empCount number;
v_deptCount number;
begin
select count(empno) into v_empCount from emp where empno=:new.empno;
select count(deptno) into v_deptCount from dept where deptno=:new.deptno;
if v_deptCount=0 then
insert into dept(deptno,dname,loc) values(:new.deptno,:new.dname,:new.loc);
end if;
if v_empCount=0 then
insert into emp(empno,ename,job,sal,deptno)
values(:new.empno,:new.ename,:new.job,:new.sal,:new.deptno);
end if;
end;
/
insert into myview(empno,ename,job,sal,deptno,dname,loc) values(6688,'vdedu','clerk',2000,50,'teach','pekino');
创建一个UPDATE替代触发器
create or replace trigger view_trigger
2 instead of update on myview
3 for each row
4 begin
5 update emp set ename=:new.ename,job=:new.job,sal=:new.sal where empno=:new.empno;
6 update dept set dname=:new.dname,loc=:new.loc where deptno=:new.deptno;
7 end;
8 /
update myview set sal=900 where empno=7566;
1 row updated
mysql instead of触发_Instead of触发器相关推荐
- MySQL 5.0 新特性教程 触发器:第一讲
滥觞:网海拾贝 作者:mysql AB;翻译:陈朋奕 Conventions and Styles约定和编程作风 每次我想要演示实践代码时,我会对mysql客户真个屏幕就出现的代码阻止调解排解,将字体 ...
- mysql触发器和oracle,MySQL与Oracle 差异比较之六触发器
MySQL与Oracle 差异比较之六触发器 触发器 编号 类别 ORACLE MYSQL 注释 1 创建触发器语句不同 create or replace trigger TG_ES_FAC_UNI ...
- mysql高级知识(linux安装mysql+索引+视图+存储过程和函数+触发器)
一.linux系统安装Mysql 1.mysql安装包: MySQL :: Download MySQL Community Server 2.mysql安装 linux安装在vmware(虚拟机)上 ...
- MySQL数据库(32):触发器 trigger
触发器 trigger 一.基本概念 触发器是一种特殊类型的存储过程,触发器通过事件进行触发而被执行 触发器 trigger 和js事件类似 1.作用: 写入数据表前,强制检验或转换数据(保证数据安全 ...
- 请问一个表的update能同时触发两个触发器吗?
请问一个表的update能同时触发两个触发器吗? 1.可以的﹐但一個表帶兩個觸器不好﹐對查詢速度﹐性能都有影響 2.每个表的触发器个数仅受数据库中的对象个数限制,数据库对象包括所有的表.视图.存储过程 ...
- Mysql 创建表、存储过程、触发器 -Angelo 分享
Mysql 创建表.存储过程.触发器 -Angelo 分享 简单的小例子,创建两个表,一个存储过程,一个触发器 存储过程是个 while 循环,也很简单,循环网表里插数据 功能:表一只要有insert ...
- oracle触发器 触发事件,oracle 触发器的种类和触发事件
oracle触发器的种类和触发事件,DML触发器,DDL事件触发器,替代触发器,查看触发器 触发器的种类和触发事件 触发器必须由事件才能触发.触发器的触发事件分可为3类,分别是DML事件.DDL事件和 ...
- mysql采用 级触发_Mysql高级之触发器(trigger)
触发器是一类特殊的事务 ,可以监视某种数据操作(insert/update/delete),并触发相关操作(insert/update/delete). 看以下事件: 完成下单与减少库存的逻辑 Ins ...
- MySQL 学习笔记(8)— 触发器
1. 触发器概念 触发器是 MySQL 响应以下任意语句而自动执行的一条 MySQL 语句(或位于BEGIN 和 END 语句之间的一组语句) INSERT UPDATE DELETE 其他 MySQ ...
最新文章
- 【numpy】协方差计算
- 未来安防人工智能需要攻克的几大技术方向
- 深度解读Facebook刚开源的beringei时序数据库——数据压缩delta of delta+充分利用内存以提高性能...
- Effective_STL 学习笔记(四十三) 尽量用算法调用代替手写循环
- MyBatis的插入数据操作
- 7-47 打印选课学生名单 (25 分)(两种做法)(思路加详解+map+vector做法+最后一个点超时解决)+兄弟们冲丫丫
- 我好像明白了如何画序列图了
- 分类学计算机面试什么,史上最全的机器学习面试题-机器学习爱好者必看
- JavaScript中的this关键字
- python3全栈开发-并发编程,多进程的基本操作
- python keyboard库_python利用 keyboard 库记录键盘事件
- 面试题3二维数组中的查找
- 导出excel用ajax不行,提交form表单可以
- MySQL2:代码小节和代码测试
- 大数据技术原理与应用-林子雨版-课后习题答案
- 斗牛(牛牛)概率计算器
- h5py 必知--String存储
- HCIP 综合实验(一)
- 大数据多维分析常用操作图解 OLAP Operations
- 前端市场又“饱和”了,还有必要学吗?
热门文章
- 手摸手Go 深入剖析sync.Pool
- 数字蝶变,离不开云原生“苍穹”
- 200 个工具分析机器学习十年:前途未卜、工程师是核心!
- “数学不行,干啥也不行!”CTO:基础差的程序员,你不知道有多难!
- 一文带你认清数据仓库“维度模型设计”与“分层架构” | 原力计划
- 华为 5G、阿里检测病毒算法、腾讯 AI 一分钟诊断,国内抗疫科技大阅兵!
- 一位 Rust 开发者的 Go 初体验
- @程序员,如何花式构建线程?
- JavaScript 败北,TypeScript 大势所趋?
- 程序员有哪些丢不掉的编程“陋习”?