我有一個項目用於我的某個類。我們需要在兩個表格進行更改時創建日誌:insert/update/delete。我們被要求使用Oracle觸發器和PL-SQL。在日誌文件中,我們需要記錄用戶ID,日期時間,IP地址和事件(插入/更新/刪除)。我知道如何設置觸發器,但我遇到的主要問題是UserID(從用戶名登錄到Users表中登錄到PHP站點),更重要的是IPAddress。這是我到目前爲止。在Oracle中使用觸發器將更改記錄到表中
CREATE OR REPLACE TRIGGER tr_movie_ai
AFTER INSERT OR UPDATE OR DELETE
ON Movies
FOR EACH ROW
DECLARE
v_username VARCHAR(20);
v_ipaddress VARCHAR(13);
v_date NUMBER := FLOOR(SYSDATE);
BEGIN
SELECT User INTO v_username FROM dual;
SELECT SYS_CONTEXT('USERENV','IP_ADDRESS') INTO v_ipaddress FROM dual;
INSERT INTO Logs (USERID, DATETIME, IPADDRESS, EVENT, DESCRIPTION) VALUES (user, v_date, v_ipaddress, 'Movie Created', 'Movie created'));
END;
任何幫助將不勝感激!
這SYSTABLE可以幫助你.. HTTP:/ /docs.oracle.com/cd/B19306_01/server.102/b14237/dynviews_2088.htm – xQbert