• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Oracle使用触发器和mysql中使用触发器的案例比较

    一、触发器

      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;这个操作由触发器完成。

    以上所述是小编给大家介绍的Oracle使用触发器和mysql中使用触发器的案例比较,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

    您可能感兴趣的文章:
    • Oracle触发器实例代码
    • Oracle触发器表发生了变化 触发器不能读它的解决方法(必看)
    • Oracle触发器用法实例详解
    • Oracle中使用触发器(trigger)和序列(sequence)模拟实现自增列实例
    • oracle监控某表变动触发器例子(监控增,删,改)
    • [Oracle] 如何使用触发器实现IP限制用户登录
    • oracle 存储过程和触发器复制数据
    • oracle 触发器 实现出入库
    • oracle 触发器 学习笔记
    • 详解oracle中通过触发器记录每个语句影响总行数
    上一篇:Oracle WebLogic Server 12.2.1.2安装部署教程
    下一篇:使用PL/SQL Developer连接Oracle数据库的方法图解
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    Oracle使用触发器和mysql中使用触发器的案例比较 Oracle,使用,触发器,和,mysql,