TraceLife

真正的幸福,在于对平淡生活的热爱……

导航

USERENV-SQLRef

Posted on 2009-06-28 19:40  hallo  阅读(565)  评论(0编辑  收藏  举报

    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) 不需要创建,可以直接使用。