Triggers

      在〈Triggers〉中尚無留言

何謂Trigger

當記錄被修改, 新增時, 希望能觸發一些動作, 比如記錄是誰修改的, 修改的時間, 修改的IP, 就需使用triggers

建立Trigger

create trigger 名稱 時機 事件 on 表格名稱 for each row 敘述
時機 : before, after
事件 : insert, update, delete
敘述 : 要執行的工作

🔒 更多內容,請登入會員繼續閱讀。

立即登入

上述trigger會儲存於mj_employee資料表裏的trigger元件中, 當新增一筆員工資料後, 就會自動執行此trigger裏的敘述. 此trigger無法手動被調用

OLD 與 NEW

在trigger裏, 可以使用new 或old 關鍵字取得未更改前的欄位或更改後的欄位值. 但insert不能使用old, delete不能使用new

在員工資料表中, 如果只需在調部門才記錄, 就可以在trigger中使用if, 如下
if old.deptno<> new.deptno then
insert into emplog (message) values(‘調部門’);
end if;

轉換大小寫

如果新增或修改時, 要將欄位的值都轉成大寫, 就需新增一個before trigger, 然後用set 改變欄位

🔒 更多內容,請登入會員繼續閱讀。

立即登入

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *