一张班级表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表)相关推荐

  1. ORACLE 授权 新增 修改 删除 注释 重命名 表字段 表

    1.增加新字段 alter table table_name add (name varchar(20) default '',age int default 18); 2.修改表字段 2.1字段属性 ...

  2. Oracle触发器之表新增/修改的触发操作

    Oracle触发器之表新增/修改的触发操作 Oracle创建触发器,若是本地触发,加数据库名即可:如果是远程服务器,做一个db_link操作即可. 教学代码 建表:create table User_ ...

  3. oracle触发器更新库存,oracle 触发器,当一个表更新或插入时将数据同步至另个库中的某个表中...

    有两个表分别是 A用户下的 T_SRC_WEATHER_TSPG字段如图, B用户下的t_src_weather 表,如图: 要求,当A用户下的T_SRC_WEATHER_TSPG表有插入或者更新数据 ...

  4. sharepoint 2016 学习系列篇(14)-自定义列表应用篇-(3)列表数据的新增,修改,删除操作

    前面添加完列表的字段之后,接下来介绍列表数据的新增,修改,删除操作,不需要开发,就能实现数据的新增,修改,删除等操作. 重新返回到列表的http://192.168.1.73:7003/Lists/U ...

  5. delphi百度人脸搜索(支持人脸搜索、人脸库新增修改删除查询)

    下载链接:https://download.csdn.net/download/liushenglin123/12550077 [delphi百度人脸搜索]支持人脸搜索.人脸库新增修改删除查询

  6. 触发器实现当一个表中字段改变时同时改变另一个表中字段值

    触发器实现当一个表中字段发生变化时同时改变另一个表中字段 1.建表 新建两个表一个叫做Telephonics用来存放航班全部字段的数据,主键为SelfNum航迹号:另一个一个叫做FlightAndSe ...

  7. 写一些脚本的心得总结系列第3篇------同步数据到其他表

    3.同步数据到其他表的. 这种又分插入和更新字段两种情况,除了sql方面的逻辑外,要考虑记录执行sql和变化前后数据记录.总是要做最坏的打算,一旦更新错了还能回滚数据. 比如在更新之前先记录被更新的数 ...

  8. 如何取消OneDriver自动登陆并删除已经同步数据?

    如何取消OneDriver自动登陆并删除已经同步数据? ©Lander Zhang 专注外企按需IT基础架构运维服务,IT Helpdesk 实战培训践行者 https://blog.51cto.co ...

  9. 生产订单组件新增 修改 删除

    如果CO_XT_COMPONENT_ADD缺少需要的字段 可以拷贝出来, 在ZCO_XT_COMPONENT_ADD 添加字段例如:I_TEST 和 I_TESTX 或者memory id传值 在22 ...

最新文章

  1. monostate 状态_为什么Borg模式比Python中的Singleton模式更好
  2. javascript运动系列第二篇——变速运动
  3. 脉讯发布“社群搜索工具” 助企业精准洞察消费者需求
  4. php文件上传绕过mime类型,文件上传限制绕过技巧
  5. python队列join
  6. xampp安装后apache(端口占用)/mysql无法打开(Attempting to start MySQL service...)/Mysql无法修改端口
  7. 201671030107胡文艳实验三作业互评与改进报告
  8. POJ 1904 【强连通分量】.cpp
  9. 怎么用python写名字_python中的__name__ 到底是个什么玩意?应该怎么用到它?
  10. 前端学习(501):水平居中布局得第二种方式的优缺点
  11. MySQL 视图的基础操作(五)
  12. cdoj1342郭大侠与甲铁城
  13. mac json工具_工具类封装的思路 | 钉钉群机器人为例
  14. 利用StringUtils工具类进行String为空的判断
  15. redis清空数据、查看数据量、查看占用内存命令
  16. 2018 OpenInfra Days China 大咖来袭——开源,我们是认真的
  17. Android中如何解决输入法键盘和activity页面遮挡的问题
  18. ArcGIS Engine开发前基础知识(3)
  19. 华为海思芯片自立自强!
  20. 何凯明:Single Image Haze Removal Using Dark Channel Prior[CVPR 2009]

热门文章

  1. 孤独是灵魂的而缺口,享受孤独是一种灵修
  2. 《需求工程——软件建模与分析》阅读笔记03
  3. Build a project
  4. 强大的开源企业级数据库监控利器Lepus
  5. php公众号开发配置网页域名,微信公众号网页开发授权配置流程
  6. 域用户不准更改计算机名,请教高手,域环境下如何不退域修改计算机名?
  7. jQuery 绑定3种键盘事件 keypress(键盘键按下,功能键和中文不触发),keydown(键盘键按下,所有键都触发),keyup(键盘键松开)
  8. 哪个安卓模拟器比较好用 2023年好用的安卓模拟器推荐
  9. OpenCV开发笔记(六十七):红胖子8分钟带你深入了解特征点暴力匹配(图文并茂+浅显易懂+程序源码)
  10. Altium Designer18之修改画图光标大小