共計 1265 個字符,預計需要花費 4 分鐘才能閱讀完成。
這篇文章主要為大家展示了“Oracle 基于值如何審核”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓丸趣 TV 小編帶領(lǐng)大家一起研究并學習一下“Oracle 基于值如何審核”這篇文章吧。
Oracle 通過使用觸發(fā)器,可以實現(xiàn)基于值的審核。
基于值的審核實驗:
1、用戶 scott 有一張員工表 emp,其中字段 sal 記錄了每位員工的工資信息
2、創(chuàng)建一個審核表用來記錄審核結(jié)果
create table
scott.emp_sal_audit
(host varchar2(50), ip_address varchar2(20), emp_no varchar2(20),
old_value number, new_value number, update_time date);
3、為表 scott.emp 創(chuàng)建一個觸發(fā)器,對字段 sal 的值的更新應用觸發(fā),記錄更新前后值,并記錄執(zhí)行更新的客戶端信息
create or replace trigger
sal_audit
after update of sal on
scott.emp
for each row
begin
if :old.sal != :new.sal then
insert into scott.emp_sal_audit values
(sys_context( userenv , host),
sys_context(userenv ,
ip_address ),
:new.empno,
:old.sal,
:new.sal,
sysdate);
end if;
end;
4、查詢當前記錄,并執(zhí)行更新
select *
from emp where empno = 7369;
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
—– ———-
——— —– ———– ——— ——— ——
7369 SMITH
CLERK 7902 1980/12/17 800.00 20
update
emp set sal = 900 where empno = 7369;
commit;
5、查看審核記錄
select * from
emp_sal_audit;
HOST IP_ADDRESS
EMP_NO OLD_VALUE NEW_VALUE UPDATE_TIME
——————–
——————– ———- ———- ———- ——————–
WORKGROUP\MYPC 192.168.133.1 7369 800 900 2015/9/3 16:34:27
該表記錄了執(zhí)行變更的客戶端機器、IP 地址、更新前后值、更新時間等,觸發(fā)器中使用了 oracle 函數(shù) sys_context 用來獲取系統(tǒng)環(huán)境信息。
以上是“Oracle 基于值如何審核”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關(guān)注丸趣 TV 行業(yè)資訊頻道!