博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

MySQL与Oracle 差异比较之六触发器

Posted on 2014-04-02 18:00  徐正柱-  阅读(5043)  评论(0编辑  收藏  举报
  • 触发器
编号 类别 ORACLE MYSQL 注释
1 创建触发器语句不同 create or replace trigger TG_ES_FAC_UNIT
 
 before insert or update or delete on ES_FAC_UNIT
  for each row
create trigger `hs_esbs`.`TG_INSERT_ES_FAC_UNIT` BEFORE INSERT on `hs_esbs`.`es_fac_unit`
for each row 
1. Oracle使用create or replace trigger语法创建触发器.
   Mysql使用 create trigger创建触发器.
2. Oracle可以在一个触发器触发insert,delete,update事件.
   Mysql每个触发器只支持一个事件. 也就是说,目前每个trigger需要拆分成3个mysql trigger.
3. mysql trigger 不能在客户端显示或编辑.需要在服务器所在的机器上操作. 
2 触发器new和old记录行的引用不同 取得新数据: :new.FAC_CD
取得老数据: :old.FAC_CD
取得新数据: NEW.FAC_CD
取得老数据: OLD.FAC_CD
1. new和old记录行的引用:
   mysql是NEW.col1,OLD.col1来引用。
   oracle是:NEW.col1, :OLD.col1来引用。
2. NEW 和OLD不区分大小写.