• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

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

mysql 搞代码 4年前 (2022-01-09) 18次浏览 已收录 0个评论

Mysql关系型数据库管理系统

MySQL是一个开放源码的小型关联式数据库管理系统,开发者为瑞典MySQL AB公司。MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。

这篇文章主要介绍了Oracle使用触发器和mysql中使用触发器的案例比较,本文通过示例讲解,给大家介绍的非常详细,需要的朋友参考下

一、触发器

  1.触发器在数据库里以独立的对象存储,

  2.触发器不需要调用,它由一个事件来触发运行

  3.触发器不能接收参数

  –触发器的应用

    举个例子:校内网本文来源gao@!dai!ma.com搞$$代^@码5网@、开心网、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_updateafterupdate on employeesfor each row begin  dbms_output.put_line('更新前:'||:old.salary||' 更新后:'||:new.salary);end;--问题2.编写一个触发器,在向 emp 表中插入记录时 打印'hello'create or replace trigger tri_updateafterinsert on empbegin  dbms_output.put_line('ok');end;--问题1.一个helloworld级别的触发器--创建一个触发器,在更新employees表的时候触发create or replace trigger tri_updateafterupdate on employeesfor each row --想在最后执行完打印一个ok,把这句话去掉begin  dbms_output.put_line('ok');end;--执行update employeesset salary = salary+1where department_id = 80

三、在MySql 使用触发器

--假设有两张表 board 和 articlecreate 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 rowbegin  update board set articleCount=articleCount+1where 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中使用触发器的案例比较的内容,更多相关内容请关注搞代码(www.gaodaima.com)!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Oracle使用触发器和mysql中使用触发器的案例比较

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址