Oracle触发器(当A表新增/修改/删除时,同步数据到B表)
一张班级表class有以下字段
id、class_id、class_name
一张学生表student有以下字段
id、student_name、class_id
班级表与学生表的关系是一对多
一个班级有若干个学生,若干个学生隶属于一个班级
当班级表class中的class_id变更时,同步学生表student中的class_id
CREATE OR REPLACE TRIGGER TRIGGER_CHANGE_CLASS_IDAFTER INSERT OR UPDATE OR DELETE ON class -- 当class表无论是INSERT、UPDATE还是DELETE都会触发-- AFTER UPDATE OF CLASS_ID ON CLASS 也可以直接指定作用于CLASS表中的CLASS_ID字段有变更时触发,其他字段变更不触发FOR EACH ROW -- 行级触发
DECLARE-- local variables here局部变量设置V_INTRGRITY_ERROR EXCEPTION;V_ERROR_NO NUMBER(10);V_ERROR_MSG VARCHAR(200);
BEGINIF INSERTING THEN-- 当class表新增时,添加一条log记录INSERT INTO class_log(a,b,c) VALUES(:NEW.id,:NEW.class_id,:NEW.class_name);ELSIF UPDATING THEN-- 根据旧class_id作为条件,以新class_id替换之前的旧数据UPDATE student SET class_id=:NEW.class_id WHERE class_id=:OLD.class_id;ELSEDELETE FROM student WHERE class_id=:OLD.class_id;END IF;EXCEPTION -- 异常捕获处理WHEN V_INTRGRITY_ERROR THENRAISE_APPLICATION_ERROR(V_ERROR_NO, V_ERROR_MSG);
END TRIGGER_CHANGE_CLASS_ID;
Oracle触发器(当A表新增/修改/删除时,同步数据到B表)相关推荐
- ORACLE 授权 新增 修改 删除 注释 重命名 表字段 表
1.增加新字段 alter table table_name add (name varchar(20) default '',age int default 18); 2.修改表字段 2.1字段属性 ...
- Oracle触发器之表新增/修改的触发操作
Oracle触发器之表新增/修改的触发操作 Oracle创建触发器,若是本地触发,加数据库名即可:如果是远程服务器,做一个db_link操作即可. 教学代码 建表:create table User_ ...
- oracle触发器更新库存,oracle 触发器,当一个表更新或插入时将数据同步至另个库中的某个表中...
有两个表分别是 A用户下的 T_SRC_WEATHER_TSPG字段如图, B用户下的t_src_weather 表,如图: 要求,当A用户下的T_SRC_WEATHER_TSPG表有插入或者更新数据 ...
- sharepoint 2016 学习系列篇(14)-自定义列表应用篇-(3)列表数据的新增,修改,删除操作
前面添加完列表的字段之后,接下来介绍列表数据的新增,修改,删除操作,不需要开发,就能实现数据的新增,修改,删除等操作. 重新返回到列表的http://192.168.1.73:7003/Lists/U ...
- delphi百度人脸搜索(支持人脸搜索、人脸库新增修改删除查询)
下载链接:https://download.csdn.net/download/liushenglin123/12550077 [delphi百度人脸搜索]支持人脸搜索.人脸库新增修改删除查询
- 触发器实现当一个表中字段改变时同时改变另一个表中字段值
触发器实现当一个表中字段发生变化时同时改变另一个表中字段 1.建表 新建两个表一个叫做Telephonics用来存放航班全部字段的数据,主键为SelfNum航迹号:另一个一个叫做FlightAndSe ...
- 写一些脚本的心得总结系列第3篇------同步数据到其他表
3.同步数据到其他表的. 这种又分插入和更新字段两种情况,除了sql方面的逻辑外,要考虑记录执行sql和变化前后数据记录.总是要做最坏的打算,一旦更新错了还能回滚数据. 比如在更新之前先记录被更新的数 ...
- 如何取消OneDriver自动登陆并删除已经同步数据?
如何取消OneDriver自动登陆并删除已经同步数据? ©Lander Zhang 专注外企按需IT基础架构运维服务,IT Helpdesk 实战培训践行者 https://blog.51cto.co ...
- 生产订单组件新增 修改 删除
如果CO_XT_COMPONENT_ADD缺少需要的字段 可以拷贝出来, 在ZCO_XT_COMPONENT_ADD 添加字段例如:I_TEST 和 I_TESTX 或者memory id传值 在22 ...
最新文章
- monostate 状态_为什么Borg模式比Python中的Singleton模式更好
- javascript运动系列第二篇——变速运动
- 脉讯发布“社群搜索工具” 助企业精准洞察消费者需求
- php文件上传绕过mime类型,文件上传限制绕过技巧
- python队列join
- xampp安装后apache(端口占用)/mysql无法打开(Attempting to start MySQL service...)/Mysql无法修改端口
- 201671030107胡文艳实验三作业互评与改进报告
- POJ 1904 【强连通分量】.cpp
- 怎么用python写名字_python中的__name__ 到底是个什么玩意?应该怎么用到它?
- 前端学习(501):水平居中布局得第二种方式的优缺点
- MySQL 视图的基础操作(五)
- cdoj1342郭大侠与甲铁城
- mac json工具_工具类封装的思路 | 钉钉群机器人为例
- 利用StringUtils工具类进行String为空的判断
- redis清空数据、查看数据量、查看占用内存命令
- 2018 OpenInfra Days China 大咖来袭——开源,我们是认真的
- Android中如何解决输入法键盘和activity页面遮挡的问题
- ArcGIS Engine开发前基础知识(3)
- 华为海思芯片自立自强!
- 何凯明:Single Image Haze Removal Using Dark Channel Prior[CVPR 2009]
热门文章
- 孤独是灵魂的而缺口,享受孤独是一种灵修
- 《需求工程——软件建模与分析》阅读笔记03
- Build a project
- 强大的开源企业级数据库监控利器Lepus
- php公众号开发配置网页域名,微信公众号网页开发授权配置流程
- 域用户不准更改计算机名,请教高手,域环境下如何不退域修改计算机名?
- jQuery 绑定3种键盘事件 keypress(键盘键按下,功能键和中文不触发),keydown(键盘键按下,所有键都触发),keyup(键盘键松开)
- 哪个安卓模拟器比较好用 2023年好用的安卓模拟器推荐
- OpenCV开发笔记(六十七):红胖子8分钟带你深入了解特征点暴力匹配(图文并茂+浅显易懂+程序源码)
- Altium Designer18之修改画图光标大小