-
有for eachrow為行級觸發(fā)器,沒有則為語句級觸發(fā)器查看全部
-
創(chuàng)建觸發(fā)器的語法 create or replace trigger 觸發(fā)器名稱 before (after) delete (insert update) [of 列名] --of 列名表示該列發(fā)生變化時,觸發(fā)該觸發(fā)器 on 表名 [for each row [when(條件)]] --(行級觸發(fā)器的關(guān)鍵字)語句級觸發(fā)器沒這段 PLSQL塊查看全部
-
/** *復(fù)雜的安全性檢查:非工作時間禁止插入員工 */ create or replace trigger security_check before insert on emp declare begin if (to_char(sysdate,'day') in ('星期六','星期天')) OR (to_number(to_char(sysdate,'hh24'))not between 9 and 18) then raise_application_error(-20001,'非工作時間禁止添加員工'); end if; end; / /** * 數(shù)據(jù)的確認(rèn):漲工資后應(yīng)該大于漲前 */ create or replace trigger raise_check before update on emp for each row begin if :old.sal > :new.sal then raise_application_error(-20002,'漲工資后應(yīng)該大于漲前'); end if; end; / /** *數(shù)據(jù)庫的審計:記錄漲工資超過6000的員工 */ create table audit_info(msg varchar2(200)); create or replace trigger over6000 after update on emp for each row begin if :new.sal > 6000 then insert into audit_info(msg) values(:new.empno || ' ' || :new.ename || ' 漲前: '|| :old.sal ||' 漲后: ' || :new.sal); end if; end; / /** * 數(shù)據(jù)的備份和同步 */ create table emp_bak as select * from emp; create or replace trigger emp_backup after update on emp for each row begin update emp_bak set sal= :new.sal where empno = :new.empno; end; /查看全部
-
1.oracle自定義事務(wù)錯誤類型error_number_in 之容許從 -20000 到 -20999 之間 2.觸發(fā)器無需commit,也不能寫commit。觸發(fā)器和觸發(fā)它的DML是同一個事務(wù),DML提交了,觸發(fā)器的操作也提交了,要不就一起回滾了 當(dāng)然,如果你一定要在觸發(fā)器里寫COMMIT 那就用自治事務(wù) 相當(dāng)于一個事務(wù)里的子事務(wù)查看全部
-
:old 和:new 的實例說明。查看全部
-
禁止非工作時間插入新員工, raise_application_error(); 拋出一個異常,終止 insert 的執(zhí)行查看全部
-
創(chuàng)建觸發(fā)器的語法。查看全部
-
觸發(fā)器的應(yīng)用場景。查看全部
-
例一:查看全部
-
語句級觸發(fā)器(針對的是表) -在指定的操作語句操作之前或之后執(zhí)行一次,不管這條語句執(zhí)行了多少行。 行級觸發(fā)器(針對的是行) -觸發(fā)語句作用的每一條記錄都被觸發(fā)。在行級觸發(fā)器中使用:old :new偽記錄變量,識別值得狀態(tài)。查看全部
-
觸發(fā)器應(yīng)用查看全部
-
觸發(fā)器類型 二 行級觸發(fā)器查看全部
-
觸發(fā)器類型 一 語句級觸發(fā)器查看全部
-
1.創(chuàng)建觸發(fā)器的語法 create or replace trigger 觸發(fā)器名稱 before (after) delete (insert update) [of 列名] --of 列名表示該列發(fā)生變化時,觸發(fā)該觸發(fā)器 on 表名 [for each row [when(條件)]] --(行級觸發(fā)器的關(guān)鍵字)語句級觸發(fā)器沒這段 PLSQL塊查看全部
-
數(shù)據(jù)的備份和同步查看全部
舉報
0/150
提交
取消