У меня есть проект для одного из моих классов. Нам нужно создать журнал, когда в две из наших таблиц внесены изменения: insert / update / delete. Мы обязаны использовать Oracle Triggers и PL-SQL. В файле журнала нам нужно записать UserID, DateTime, IPAddress и Event (вставить / обновить / удалить). Я знаю, как настроить триггер, но основные проблемы, с которыми я сталкиваюсь, связаны с UserID (от входа на сайт PHP с UserID в таблице Users) и, что более важно, с IPAddress. Вот что у меня есть.
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;
Любая помощь будет принята с благодарностью!