-
觸發(fā)器之?dāng)?shù)據(jù)確認(rèn):
查看全部 -
實施復(fù)雜的安全檢查:
查看全部 -
觸發(fā)器詳解:
查看全部 -
創(chuàng)建觸發(fā)器:
查看全部 -
數(shù)據(jù)庫觸發(fā)器是一個與表相關(guān)聯(lián)的、存儲的PL/SQL程序。每當(dāng)一個特定的數(shù)據(jù)操作語句(insert、update、delete)在指定的表上發(fā)出時,Oracle自動地執(zhí)行觸發(fā)器中定義的語句序列。也就是說select語句是沒有觸發(fā)器的!
create trigger saynewemp
after insert
on emp
declare
begin
????dbms_output.put_line('成功插入新員工');
end;
/
查看全部 -
觸發(fā)器是一個特殊的存儲過程,存儲過程和存儲函數(shù)是完成特定功能的一個PL/SQL程序,觸發(fā)器也是一個PL/SQL程序。
觸發(fā)器的應(yīng)用場景:
復(fù)雜的安全性檢查
數(shù)據(jù)確認(rèn)
實現(xiàn)審計功能
完成數(shù)據(jù)的備份和同步
Oracle中的觸發(fā)器類型:語句級觸發(fā)器和行級觸發(fā)器
查看全部 -
1、語句級觸發(fā)器:針對表
????--在指定的操作語句操作之前或之后執(zhí)行一次,不管這條語句影響了多少行
2、行級觸發(fā)器:針對行
????--觸發(fā)語句作用的每一條記錄都被觸發(fā)。在行級觸發(fā)器中使用:old和:new偽記錄變量,識別值得狀態(tài)。
查看全部 -
1、select沒有觸發(fā)器
2、與表關(guān)聯(lián),由表觸發(fā)(insert,update,delete)
3、觸發(fā)器--trigger
3、語法:create or replace trigger 【name】
???????????????? after?insert
????????????????on tablename
????????????????????declare
????????????????????????begin
????????????????????????? end
????????????????/
查看全部 -
一、觸發(fā)器應(yīng)用場景
????1、復(fù)雜的安全性檢查
????2、數(shù)據(jù)確認(rèn)
????3、實現(xiàn)審計功能
????4、完成數(shù)據(jù)的備份和同步
二、觸發(fā)器的語法
????--PLSQL語句
三、觸發(fā)器類型
????--語句級觸發(fā)器和行級觸發(fā)器
查看全部 -
before? ?操作之前
after? ?操作之后
----------------------
delete? ?刪除操作
insert? ? 插入操作
update? ?更新操作
---------------------
查看全部 -
數(shù)據(jù)庫備份
查看全部 -
<h5>觸發(fā)器應(yīng)用場景三: 數(shù)據(jù)的審計</h5><p><strong>基于值</strong>得審計功能</p><p>例子:給員工漲工資,當(dāng)漲后的薪水超過6000塊時候,審計該員工的信息</p><p>?創(chuàng)建表,用于保存審計信息</p><p>create table audit_info( information varchar2(200) );</p><p>?create or replace trigger do_audit_emp_salary</p><p>after update on emp for each row</p><p>begin if :new.sal>6000 then</p><p>?insert into audit_info values(:new.empno||' '||:new.ename||' '||:new.sal);</p><p>?end if;</p><p>?end;</p><p>/</p><p><br /></p>查看全部
-
認(rèn)識::new 和:old區(qū)別 與行級觸發(fā)器
漲工資不能越漲越少
:old 表示操作該行之前這一行的值
:new 表示操作該行之后這一行的值
create or replace trigger check_salary
before update on emp for each row
begin
if :new.sal<:odl.sal then
?raise_application_error(-20002,'漲后薪水不能少于漲前薪水。 漲后薪水為:'||:new.sal ||'漲前的薪水:'||:old.sal);
end if;
?end;
/
查看全部 -
觸發(fā)器案例一:復(fù)雜的安全性檢查
1,禁止在非工作時間插入數(shù)據(jù)
--禁止在非工作時間插入新員工
select sysdate from dual; --SYSDATE
select to_char(sysdate,'day') from dual;--查看系統(tǒng)時間是星期幾
1,? 周末:to_char(sysdate,"day")in('周六','周日')
2,? 上班前,下班后 to_number(tochar(sysdate,'hh24'))not between 9 and 18 select to_char(sysdate,'hh24') from dual;
select to_number(to_char(sysdate,'hh24'))from dual;
查看全部 -
1、創(chuàng)建觸發(fā)器的語句塊
2.觸發(fā)器的兩種類型 ?
語句級觸發(fā)器:不管這條語句影響多少行,只執(zhí)行一次(針對表) ?
行級觸發(fā)器:每影響一行,都被觸發(fā)一次。行級觸發(fā)器中使用:old :new偽記錄變量(針對行)
查看全部
舉報