觸發器有兩種after和before,區別在於每次提交事務觸發一次和每一行資料的更新都觸發一次,使用時候要注意,以免達不到目的
oracle產生資料庫觸發器的語法為:
create [or replace] trigger 觸發器名 觸發時間 觸發事件
on 表名
[for each row]
pl/sql 語句
其中:
觸發器名:觸發器物件的名稱。由於觸發器是資料庫自動執行
的,因此該名稱只是乙個名稱,沒有實質的用途。
before---表示在資料庫動作之前觸發器執行;
after---表示在資料庫動作之後出發器執行。
觸發事件:指明哪些資料庫動作會觸發此觸發器:
insert:資料庫插入會觸發此觸發器;
update:資料庫修改會觸發此觸發器;
delete:資料庫刪除會觸發此觸發器。
表 名:資料庫觸發器所在的表。
for each row:對錶的每一行觸發器執行一次。如果沒有這一
選項,則只對整個表執行一次。
舉例:下面的觸發器在更新表auths之前觸發,目的是不允許在
週末修改表:
create trigger auth_secure
before insert or update or delete //對整表更新前觸發
on auths
begin
if(to_char(sysdate,'dy')='sun'
end if;
end
儲存過程,游標,觸發器
語法 create or replace procedure 儲存過程名稱 引數名1 in out 資料型別,引數名2 in out 資料型別,as is 宣告變數 begin 過程化語句 end 根據員工編號得到員工的年薪 create or replace procedure getyearsa...
包 儲存過程 觸發器 游標
create or replace package emp package as v pi constant number 3.14 定義常量 type v cur is ref cursor 引用游標定義 定義過程 procedure emp insert p ename varchar2,p j...
MYSQL 儲存過程,游標和觸發器
1.儲存過程 procedure mysql 儲存過程是從 mysql 5.0 開始增加的新功能。儲存過程的優點有一籮筐。不過最主要的還是執行效率和sql 封裝。特別是 sql 封裝功能,如果沒有儲存過程,在外部程式訪問資料庫時 例如 php 要組織很多 sql 語句。特別是業務邏輯複雜的時候,一大...