SYS_CONTEXT返回和当前名字空间相关的参数的值,可以使用在SQL/PLSQL中,但不可以用在并行查询或者RAC环境中
语法:
SYS_CONTEXT('NAMESPACE','PARAMETER')
详细的可以参见Oracle参考手册
一些用法:
SQL> show user
USER 为"SCOTT"
SQL> select sys_context('USERENV','HOST') FROM DUAL;
SYS_CONTEXT('USERENV','HOST')
--------------------------------------------------------------------------------
WORKGROUP\LINUX
SQL> SELECT SYS_CONTEXT('USERENV','SESSIONID') FROM DUAL;
SYS_CONTEXT('USERENV','SESSIONID')
--------------------------------------------------------------------------------
444
SQL> SELECT SYS_CONTEXT('USERENV','SESSION_USER') FROM DUAL;
SYS_CONTEXT('USERENV','SESSION_USER')
--------------------------------------------------------------------------------
SCOTT
SQL> SELECT SYS_CONTEXT('USERENV','DB_NAME') FROM DUAL;
SYS_CONTEXT('USERENV','DB_NAME')
--------------------------------------------------------------------------------
demo
SQL> SELECT SYS_CONTEXT('USERENV','INSTANCE') FROM DUAL;
SYS_CONTEXT('USERENV','INSTANCE')
--------------------------------------------------------------------------------
1
SQL> SELECT SYS_CONTEXT('USERENV','LANGUAGE') FROM DUAL;
SYS_CONTEXT('USERENV','LANGUAGE')
--------------------------------------------------------------------------------
SIMPLIFIED CHINESE_CHINA.ZHS16GBK
SQL> SELECT SYS_CONTEXT('USERENV','OS_USER') FROM DUAL;
SYS_CONTEXT('USERENV','OS_USER')
--------------------------------------------------------------------------------
LINUX\Administrator
SQL>
的确可以得到不少有用的信息
|