oracle觸發器型別:
1、語句觸發器(對乙個sql語句執行一次,分為before和after)
例項:
create trigger_name
before insert or update or delete --也可以是after
of column_name --可選,限定列名
on tablename
referencing old as old_value new as new_value --可選,為新舊值取別名
when (condition is true) --可選,限定條件
begin
:new_value.column_name := 0; --注意新值的引用方法
end;
2、行觸發器(對被影響的每一行執行一次)
例項:create trigger_name
before insert on tablename
for each row --注意關鍵字
begin
:new.column_name := 0;
end;
3、insteadof觸發(用觸發器中定義的邏輯代替sql語句想要執行的動作)
例項:create trigger_name
instead of insert --注意關鍵字
on tablename
begin
:new.column_name := 0;
end;
4、系統條件觸發器
例項:create or replace trigger trig_log_info
after create or drop on schema
begin
...end;
5、使用者事件觸發器
例項:create or replace trigger trig_logon
after log on database
when (user = 'sys)
begin
...end;
Oracle觸發器簡介 建立 使用觸發器
觸發器類似與儲存過程,都是為了實現特殊功能而執行的 塊。觸發器不允許使用者顯示傳遞引數,不能夠返回引數值,不允許使用者呼叫觸發器。觸發器只是在oracle合適的時間自動呼叫,非常類似於面向程式設計中的 觸發器按照觸發事件型別 物件不同分為 語句觸發器,行觸發器,instead of觸發器,系統事件觸...
觸發器簡介
觸發器 trigger 是個特殊的儲存過程,它的執行不是由程式呼叫,也不是手工啟動,而是由事件來觸發,不能帶引數,比如當對乙個表進行操作 insert,delete,update 時就會啟用它執行。觸發器經常用於加強資料的完整性約束和業務規則等。觸發器可以從 dba triggers user tr...
前觸發器和後觸發器簡介
觸發器是一種特殊的儲存過程。當 insert update 或者delete 語句修改表中乙個或者多個行時執行觸發器。因為 sql server 對特定表上的每乙個指定操作呼叫乙個觸發器,所以可以使用觸發器擴充套件 sql sever 的內建完整性和資料操縱功能.注意 不像delete 語句,tra...