The key player is SYS_CONTEXT as in:
Select SYS_CONTEXT('USERENV','IP_ADDRESS') FROM dual
Here's a trigger that captures the ip addresses of clients deleting rows from a table:
CREATE OR REPLACE TRIGGER "MYSCHEMA"."SESSIONWATCHER" BEFORE
DELETE ON "MYSCHEMA"."CURRENTUSERSESSION" DECLARE
SInfo MYSCHEMA.SESSIONHISTORY.INFO%TYPE;
BEGIN
SELECT SYS_CONTEXT('USERENV','IP_ADDRESS') INTO SInfo FROM dual;
INSERT INTO MYSCHEMA.SESSIONHISTORY VALUES (SInfo);
END SessionWatcher;
No comments:
Post a Comment