語法格式:
create or replace trigger 觸發器名字
before(/after) insert(delete ,update)---這個不能寫select
on 表--在那張表建立觸發器
for each row---行觸發器
declare --申明
變數申明塊
begin
執行語句塊
end
條件謂詞
inserting/deleting/updating 為什麼要用這個 oracle觸發器可以同時是插入或者更新,有時候我們需要知道是那個動作出發了 就要這幾個條件詞語。
oracle中 oid/new
oid的意思是針對資料庫存在的那條資料做處理,而new是新的(沒有的意思)不知道我說的很明白不?
例子:當使用者在t_sp表中插入一條資料 則插入使用者的資訊和時間。
t_sp資料指令碼:
create table t_sp
t_id varchar2(40) primary key,
t_name varchar2(40),
t_*** char(2) check(t_*** in('男','女'))
user表
create table t_user
t_name varchar(40),
t_date date
觸發器:
create or replace trigger t_juor
before insert on t_sp
for each row
declare
username varchar2(40);
begin
select user into username from dual;
if(username='t_sp') then
insert into t_user values(username,:new.t_date);
else
dbms_output.put_line('對不起你沒有許可權');
end if;
end;
以上是自學個人看法,如果朋友們有更好的也可以教教我,謝謝。
Oracle 觸發器例項
1。先建立emp audit表 create table emp audit information varchar2 50 update today date 2。如果沒有emp表,請建立emp表 create table emp empno number 4 primary key,ename ...
oracle觸發器例項
觸發器定義 觸發器是特定事件出現的時候,自動執行的 塊。類似於儲存過程 但是使用者不能直接呼叫他們。觸發器功能 1 答應 限制對錶的修改 2 自動生成派生列,比如自增字段 3 強制資料一致性 4 提供審計和日誌記錄 5 防止無效的事務處理 6 啟用複雜的業務邏輯。觸發器的組成部分 1 觸發器名稱 2...
MySQL 觸發器簡單例項
mysql 觸發器簡單例項 語法 create trigger 觸發器名稱 觸發器必須有名字,最多64個字元,可能後面會附有分隔符.它和mysql中其他物件的命名方式基本相象.觸發器有執行的時間設定 可以設定為事件發生前或後。同樣也能設定觸發的事件 它們可以在執行insert update或dele...