陈佩 發表於 2023-8-28 00:00:00

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

<p>
        触发器</p>
<p>
         </p>
<table border="0" cellpadding="0" cellspacing="0"><tbody>
<tr>
<td>
                                编号</td>
                        <td>
                                类别</td>
                        <td>
                                ORACLE</td>
                        <td>
                                MYSQL</td>
                        <td>
                                注释</td>
                </tr>
<tr>
<td>
                                1</td>
                        <td>
                                创建触发器语句不同</td>
                        <td>
                                create or replace trigger TG_ES_FAC_UNIT<br>
                                  before insert or update or delete on ES_FAC_UNIT<br>
                                  for each row</td>
                        <td>
                                create trigger `hs_esbs`.`TG_INSERT_ES_FAC_UNIT` BEFORE INSERT on `hs_esbs`.`es_fac_unit` <br>
                                for each row </td>
                        <td>
                                1. Oracle使用create or replace trigger语法创建触发器.<br>
                                   Mysql使用 create trigger创建触发器.<br>
                                2. Oracle可以在一个触发器触发insert,delete,update事件. <br>
                                   Mysql每个触发器只支持一个事件. 也就是说,目前每个trigger需要拆分成3个mysql trigger.<br>
                                3. mysql trigger 不能在客户端显示或编辑.需要在服务器所在的机器上操作. </td>
                </tr>
<tr>
<td>
                                2</td>
                        <td>
                                触发器new和old记录行的引用不同</td>
                        <td>
                                取得新数据: :new.FAC_CD<br>
                                取得老数据: :old.FAC_CD</td>
                        <td>
                                取得新数据: NEW.FAC_CD<br>
                                取得老数据: OLD.FAC_CD</td>
                        <td>
                                1. new和old记录行的引用:<br>
                                   mysql是NEW.col1,OLD.col1来引用。<br>
                                   oracle是:NEW.col1, :OLD.col1来引用。<br>
                                2. NEW 和OLD不区分大小写. </td>
                </tr>
</tbody></table>
頁: [1]
查看完整版本: MySQL与Oracle 差异比较之六触发器