• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >oracle > Oracle使用触发器和mysql中使用触发器的案例比较

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

作者:Honor5 字体:[增加 减小] 来源:互联网 时间:2017-05-11

Honor5通过本文主要向大家介绍了oracle触发器,oracle触发器实例,oracle触发器语法,oracle触发器的作用,oracle 触发器 insert等相关知识,希望本文的分享对您有所帮助

一、触发器

  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;
</div>

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
</div>

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

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

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • Oracle触发器实例代码
  • Oracle触发器表发生了变化 触发器不能读它的解决方法(必看)
  • Oracle使用触发器和mysql中使用触发器的案例比较
  • Oracle触发器trigger详解
  • Oracle触发器用法实例详解
  • Oracle数据创建虚拟列和复合触发器的方法
  • Oracle实现分页查询的SQL语法汇总
  • Oracle并行操作之并行查询实例解析
  • oracle监控某表变动触发器例子(监控增,删,改)
  • [Oracle] 如何使用触发器实现IP限制用户登录

相关文章

  • 2017-05-11Oracle索引质量介绍和分析脚本分享
  • 2017-05-11检测oracle数据库坏块的方法
  • 2017-05-11Linux下安装Oracle 11g出现prvf-0002错误解决办法
  • 2017-05-11解析oracle对select加锁的方法以及锁的查询
  • 2017-05-11oracle drop table(表)数据恢复方法
  • 2017-05-11linux自动运行rman增量备份脚本
  • 2017-05-11Oracle AS关键字 提示错误
  • 2017-05-11Oracle数据远程连接的四种设置方法和注意事项
  • 2017-05-11Oracle与Mysql自动增长列(id)的区别
  • 2017-05-11Oracle WebLogic Server 12.2.1.2安装部署教程

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • 在Linux下安装Oracle
    • linux自动运行rman增量备份脚本
    • Oracle 系统变量函数介绍
    • Oracle 用户密码有效期的sql语句
    • [Oracle] CPU/PSU补丁安装详细教程
    • Oralce中VARCHAR2()与NVARCHAR2()的区别介绍
    • 整理Oracle数据库中数据查询优化的一些关键点
    • oracle iSQL*PLUS配置设置图文说明
    • oracle用户、权限、数据字典等相关操作
    • Oracle 启动例程 STARTUP参数说明

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有