USERENV-SQLRef

    USERENV 可以用来查看当前 SESSION 的相关信息,诸如是否拥有 DBA 权限(ISDBA)、当前会话的 SESSIONID 等。通常用的最多的是用来查看当前会话的 语言(LANGUAGE) 种类。

SQL> select userenv('language') from dual;

USERENV(
'LANGUAGE')
----------------------------------------------------
SIMPLIFIED CHINESE_CHINA.ZHS16GBK

    上面的 SQL 语句将会查询当前会话的语言种类,其返回的格式为

LANGUAGE_TERRITORY.CHARACTERSET

    USERENV 是为了满足向后兼容的需要而存在的。在 10.2SQLRef Oracle 推荐使用 SYS_CONTEXT 。用法如下

SQL> select sys_context('USERENV', 'LANGUAGE') from dual;

SYS_CONTEXT(
'USERENV','LANGUAG')
--------------------------------------------------------------
SIMPLIFIED CHINESE_CHINA.ZHS16GBK

    USERENV 作为 Oracle 内置的 命名空间(namespace) 不需要创建,可以直接使用。

你可能感兴趣的:(user)