Oracle数据库日志记录:使用触发器将soctt.emp表操作记录到t_log表
可以使用触发器来实现将用户对soctt.emp表的所有操作过程记录到日志表t_log中。\n\n首先,创建一个日志表t_log,包含所需的字段:\n\nsql\nCREATE TABLE t_log (\n logid NUMBER PRIMARY KEY,\n username VARCHAR2(100),\n logtime DATE,\n logdata VARCHAR2(1000)\n);\n\n\n然后,创建一个触发器,在用户对soctt.emp表进行任何操作时触发,并将相关信息插入到t_log表中:\n\nsql\nCREATE OR REPLACE TRIGGER trg_emp_log\nAFTER INSERT OR UPDATE OR DELETE ON soctt.emp\nFOR EACH ROW\nDECLARE\n v_username VARCHAR2(100);\nBEGIN\n -- 获取当前数据库操作的用户名\n SELECT USER INTO v_username FROM DUAL;\n \n -- 插入操作信息到日志表\n INSERT INTO t_log (logid, username, logtime, logdata)\n VALUES (NULL, v_username, SYSDATE, :NEW.empno || ';' || :NEW.ename || ';' || :NEW.job || ';' || :NEW.mgr || ';' || :NEW.hiredate || ';' || :NEW.sal || ';' || :NEW.comm || ';' || :NEW.deptno);\nEND;\n/\n\n\n这样,当用户对soctt.emp表进行插入、更新或删除操作时,相关信息会被记录到t_log表中。
原文地址: https://www.cveoy.top/t/topic/ps77 著作权归作者所有。请勿转载和采集!