觸發器 儲存過程 游標等

2021-09-12 05:49:52 字數 813 閱讀 3719

觸發器有兩種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 語句。特別是業務邏輯複雜的時候,一大...