Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Mailing Lists -> Oracle-L -> AW: OSUSER in V$SESSION capture in procedure?
Hi Eva,
This should work:
CREATE OR REPLACE PROCEDURE TEST(TST_HIST IN TEST_TBL%ROWTYPE) IS
V_UID NUMBER;
V_OSUSER
BEGIN
BEGIN SELECT UID INTO V_UID FROM DUAL; END; BEGIN SELECT USERNAME INTO V_OSUSER FROM ALL_USERS WHERE USER_ID := V_UID; END
rest of procedure.....Includes insert etc
END TEST
HTH
Volker Schoen
E-Mail: mailto:v.schoen_at_inplan.de
http://www.inplan.de
-----Ursprüngliche Nachricht-----
Von: Denham Eva [mailto:EvaD_at_TFMC.co.za]
Gesendet: Mittwoch, 22. Mai 2002 17:34
An: Multiple recipients of list ORACLE-L
Betreff: OSUSER in V$SESSION capture in procedure?
Hello Listers,
I have what I hope is challenging problem. I am trying to create a procedure that execs from a trigger on a table. Simple enough. But I want to capture the OSUSER value from v$session so that the there is a history of changes to the table and by whom. Problem with using USER function is that all the users access the server via a third party app and therefore have one username. Pretty pointless for this effort then, as I could update the column in the history table with that user and be done with it. But the use of UID also does not work because that brings back a whole list of all the OSUSER value.
ie
CREATE OR REPLACE PROCEDURE TEST(TST_HIST IN TEST_TBL%ROWTYPE) IS
V_UID NUMBER;
V_OSUSER
BEGIN
BEGIN SELECT UID INTO V_UID FROM DUAL; END; BEGIN SELECT OSUSER INTO V_OSUSER FROM V$SESSION WHERE OSUSER := V_UID; END
rest of procedure.....Includes insert etc END TEST Now obviously this returns more than one row as all the users use the same username through the app. Any suggestion?
Many TIA
Denham Eva
Oracle DBA
In UNIX Land
On a quiet Night, you can hear the Windows machines reboot.
#####################################################################################
#####################################################################################
Fat City Network Services -- (858) 538-5051 FAX: (858) 538-5051 San Diego, California -- Public Internet access / Mailing Lists --------------------------------------------------------------------To REMOVE yourself from this mailing list, send an E-Mail message to: ListGuru_at_fatcity.com (note EXACT spelling of 'ListGuru') and in the message BODY, include a line containing: UNSUB ORACLE-L (or the name of mailing list you want to be removed from). You may also send the HELP command for other information (like subscribing).
Fat City Network Services -- (858) 538-5051 FAX: (858) 538-5051 San Diego, California -- Public Internet access / Mailing Lists --------------------------------------------------------------------To REMOVE yourself from this mailing list, send an E-Mail message to: ListGuru_at_fatcity.com (note EXACT spelling of 'ListGuru') and in the message BODY, include a line containing: UNSUB ORACLE-L (or the name of mailing list you want to be removed from). You may also send the HELP command for other information (like subscribing). Received on Wed May 22 2002 - 12:14:53 CDT