儲存過程和觸發器 啟用和禁用觸發器

2021-08-25 19:13:37 字數 1291 閱讀 8543

/*

有的情況下可能需要臨時禁用觸發器,比如他引用的資料庫物件已經失效,或者需要執行大量的資料操作

此時不希望觸發器工作,以避免造成延時等等

alter trigger disable; 禁用某個觸發器

alter trigger enable; 啟用某個觸發器

alter table disable all triggers; 禁用表上的所有的觸發器

alter table enable all triggers; 啟用表上的所有的觸發器

*/--建立表和觸發器

drop

table testlog;

drop

trigger mylogontrigger;

drop

trigger mylogofftrigger;

--建立表testlog

create

table testlog(

username varchar2(100),

eventtime date,

action

varchar2(20)

);--觸發器,用於記錄使用者的登入事件

create

or replace trigger mylogontrigger

after logon on

schema

begin

insert

into testlog

values(

user,

sysdate,

'logon'

);end;

/--觸發器,使用者記錄使用者的登出事件

create

or replace trigger mylogofftrigger

before logoff on

schema

begin

insert

into testlog

values(

user,

sysdate,

'logoff'

);end;

//*測試使該觸發器失效和生效*/

alter

trigger mylogontrigger disable;

alter

trigger mylogontrigger enable;

alter

table testlog disable all triggers;

alter

table testlog enable all triggers;

儲存過程和觸發器

儲存過程 stored procedure 是在大型資料庫系統中,一組為了完成特定功能的sql 語句集,經編譯後儲存在資料庫中,使用者通過指定儲存過程的名字並給出引數 如果該儲存過程帶有引數 來執行它。簡單的敘述 在大型資料庫系統中,儲存過程和觸發器具有很重要的作用。無論是儲存過程還是觸發器,都是s...

儲存過程和觸發器

1 什麼是儲存過程呢?定義 將常用的或很複雜的工作,預先用sql語句寫好並用乙個指定的名稱儲存起來,那麼以後要叫資料庫提供與已定義好的儲存過程的功能相同的服務時,只需呼叫execute,即可自動完成命令。講到這裡,可能有人要問 這麼說儲存過程就是一堆sql語句而已啊?microsoft公司為什麼還要...

觸發器和儲存過程

觸發器用處還是很多的,比如校內網 開心網 facebook,你發乙個日誌,自動通知好友,其實就是在增加日誌時做乙個後觸發,再向通知表中寫入條目。因為觸發器效率高。而uch沒有用觸發器,效率和資料處理能力都很低。儲存過程的實驗步驟 mysql delimiter mysql create proced...