一、触发器

  1.触发器在数据库里以独立的对象存储,
  2.触发器不需要调用,它由一个事件来触发运行
  3.触发器不能接收参数

  --触发器的应用
    举个例子:校内网、开心网、facebook,当你发一个日志,自动通知好友,其实就是在增加日志的时候做一个出发,再向表中写入条目。

  --触发器的效率很高
    举例:论坛的发帖,每插入一个帖子都希望将版面表中的最后发帖时间,帖子总数字段进行同步更新,这时使用触发器效率会很高。

二、Oracle 使用 PL/SQL 编写触发器

1.--PL/SQL创建触发器的一般语法
create [or replace] trigger trigger_name
{before | after}
{insert | delete | update [of column[,column ... ]]} on table_name
[for each row]
[where condition]
--trigger_body;
begin 
end;

2.--练习

--问题3.使用:old 和 :new 操作符
create or replace trigger tri_update
after
update on employees
for each row
begin
  dbms_output.put_line('更新前:'||:old.salary||' 更新后:'||:new.salary);
end;

--问题2.编写一个触发器,在向 emp 表中插入记录时 打印'hello'
create or replace trigger tri_update
after
insert on emp
begin
  dbms_output.put_line('ok');
end;

--问题1.一个helloworld级别的触发器
--创建一个触发器,在更新employees表的时候触发
create or replace trigger tri_update
after
update on employees
for each row --想在最后执行完打印一个ok,把这句话去掉
begin
  dbms_output.put_line('ok');
end;
--执行
update employees
set salary = salary+1
where department_id = 80

三、在MySql 使用触发器

--假设有两张表 board 和 article
create table board(
  id int primary key auto_increment,
  name varchar(50),
  articleCount int
);

create table article(
  id int primary key auto_increment,
  title varchar(50),
  bid int references board(id)
);

--创建一个触发器

delimiter $$

create trigger insertArticle_trigger
after insert on article
for each row
begin
  update board set articleCount=articleCount+1
where id = new.bid;
end;
$$

delimiter ;

--当我们对article表执行插入操作的是后就会触发这个触发器
insert into board values(null,'test_boardname',0);

insert into article values(null,'test_title',1);
--执行完这条插入语句后,board表中的articleCount字段值回+1;这个操作由触发器完成。

转载于:https://www.cnblogs.com/redirectZmh/p/6196487.html

Oracle使用触发器和mysql中使用触发器的比较相关推荐

  1. oracle触发器比较,Oracle使用触发器和mysql中使用触发器的比较

    一.触发器 1.触发器在数据库里以独立的对象存储, 2.触发器不需要调用,它由一个事件来触发运行 3.触发器不能接收参数 --触发器的应用 举个例子:校内网.开心网.facebook,当你发一个日志, ...

  2. mysql schema 保存数据_在MySQL中,所有触发器的定义都保存在information_schema数据库下的()表中。_学小易找答案...

    [单选题]如何将英制 的零件转为公制的零件 ( ). [判断题]连续选择边线创建倒角时,不能单独修改某一边线的倒角大小 [判断题]创建筋特征时截面必须是闭和的 [填空题]Hibernate 的会话接口 ...

  3. mysql中的触发器

     触发器是特殊的存储过程,不同的是,执行存储过程需要使用call语句来调用,而触发器的执行不需要使用call语句来调用,只需要一个预定义的事件发生的时候,就会被mysql自动调用. 1.创建触发器 ...

  4. MySQL中的触发器(trigger)

    触发器(trigger)是个特殊的存储过程,不同的是,执行存储过程要使用CALL语句来调用,而触发器的执行不需要使用CALL,也不需要手动启动,当一个预定义的事件发生的时候,就会被MySQL自动调用. ...

  5. navicat for mysql创建触发器_在navicat for mysql中建立触发器

    Mysql的触发器(trigger):监视某种操作,并触发另一种操作.简要说:对表M的操作A触发了对表N的操作B. 触发器创建语法四要素: 1..引发对象(哪一张表引发的?也就是说表M是谁?) 2.触 ...

  6. mysql数据库触发器失效,mysql 的数据库触发器解决方法

    mysql 的数据库触发器 我要做一个数据库触发器,当删除数据库中的某一张表的时候触发这个一个事件,删除其他表中的某一些数据. 大家给个例子 ------解决方案------------------- ...

  7. 触发器_PLCDCS组态中SR触发器介绍

    在前面的文章中,我谈到了在PLC&DCS中RS触发器的说明介绍,我想既然谈了RS触发器,就不应该落下它的孪生兄弟SR触发器.那我们今天就来谈谈SR触发器. SR触发器 (1)SR触发器介绍:S ...

  8. oracle rowid mysql_相当于Oracle的RowID在MySQL中

    在 MySql中,通常使用会话变量来实现功能: SELECT @rowid:=@rowid+1 as rowid FROM table1, (SELECT @rowid:=0) as init ORD ...

  9. mysql 创建触发器出错_mysql-在phpmyadmin中创建触发器时出错

    我创建了非常简单的触发器,我认为syntex也正确: CREATE TRIGGER trig1 after INSERT ON urlcontent for each row BEGIN insert ...

最新文章

  1. PHP带头大哥谈程序语言的学习体会!
  2. iptables日志探秘
  3. python笔记-python编程优化:常用原则和技术介绍
  4. unity5, custom PBS shader
  5. 中计算散度的函数_梯度、散度、旋度
  6. 【MySQL】【备份】mydumper安装与使用细节
  7. 善用 CSS 中的 table-layout 屬性加快 Table 的顯示速度
  8. 聊聊Election Algorithms
  9. Ubuntu18.04开机卡在“starting Gnome Display Manager”的解决方法
  10. 拓端tecdat|R语言Apriori算法实例——322万知乎用户的关注话题关联分析
  11. 20210311 plecs 对传递函数进行波特图分析
  12. 计算机无法上网修复工具,lsp怎么修复解决上不了网问题汇总
  13. 分布式网络爬虫功能模块组成
  14. MATLAB读取xls文件的内容
  15. tf.train.Saver()
  16. 玩转NVIDIA Jetson AGX Xavier(1)--- jetson是什么
  17. 如何关闭135端口、139端口、445端口
  18. java八进制转换器,Java将八进制转换为十进制
  19. 计算机管理win18,推荐:很多人不全知道的Windows7的19个新特性
  20. nginx upstream中长连接池的维护

热门文章

  1. php redis管道,php redis pipeline怎么用 - 翟码农技术博客
  2. mysql从一张表更新另外一张表_MySQL 从一张表update字段到另外一张表中
  3. 【以太坊】搭建测试网络之ubuntu系统安装node.js
  4. Java开发面试问题,Java中高级核心知识全面解析(10)
  5. 数据元素和数据项的区别
  6. springboot项目打包部署服务器
  7. 网站优化之各个页面的关键词密度的把控
  8. 微信小程序页面上面的名字怎么改_微信小程序改名方法,小程序名称设置规范...
  9. android g920p rom,三星SM-G920P(S6 美国Sprint定制版)一键救砖教程,轻松刷回官方系统...
  10. Mac上实现ProxyChains-NG终端代理