您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“Oracle基于值如何審核”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“Oracle基于值如何審核”這篇文章吧。
Oracle通過使用觸發器,可以實現基于值的審核。
基于值的審核實驗:
1、用戶scott有一張員工表emp,其中字段sal記錄了每位員工的工資信息
2、創建一個審核表用來記錄審核結果
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創建一個觸發器,對字段sal的值的更新應用觸發,記錄更新前后值,并記錄執行更新的客戶端信息
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、查詢當前記錄,并執行更新
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
該表記錄了執行變更的客戶端機器、IP地址、更新前后值、更新時間等,觸發器中使用了oracle函數sys_context用來獲取系統環境信息。
以上是“Oracle基于值如何審核”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。