Oracle在触发器语句中如何取得当前用户???100分,在线等!!!!

解决方案 »

  1.   

    同意楼上的,
    如下面就是根据登陆数据库的用户来改变日期的显示格式的例子:SQL> show user
    USER 为"TEST"
    SQL> select sysdate from dual;SYSDATE
    ----------
    13-7月 -05已选择 1 行。SQL> conn system/manager@mydb已连接。
    SQL> create or replace trigger logon_trigger
      2  after logon on database
      3  begin
      4  if user='TEST' then
      5  execute immediate 'alter session set nls_date_format=''yyyy-mm-dd hh24:mi:ss''';
      6  end if;
      7  end;
      8  /触发器已创建SQL> conn test/test@mydb已连接。
    SQL> select sysdate from dual;SYSDATE
    -------------------
    2005-07-13 21:02:23已选择 1 行。
      

  2.   

    我想下面两句语句可能对你有用
    取客户机IP
    select SYS_CONTEXT('USERENV','IP_ADDRESS') from dual;
    取客户机机器名
    select SYS_CONTEXT('USERENV','HOST') from dual;