Oracle USERENV() 函数使用指南

Oracle USERENV() 是一个内置函数,它返回有关当前会话的信息。

Oracle USERENV() 是一个遗留函数,Oracle 建议您使用 SYS_CONTEXT() 函数。

Oracle USERENV() 语法

这里是 Oracle USERENV() 函数的语法:

USERENV('parameter')

参数

parameter

必需的。参数的名称。

您可以使用以下内置的参数名:

CLIENT_INFO: 返回用户会话信息。 ENTRYID: 返回当前的审计条目。 ISDBA: 如果用户通过操作系统或者密码文件被授权为 DBA 返回 'TRUE'LANG: 返回语言名称的 ISO 缩写。 LANGUAGE: 返回语言、地区以及数据库字符集。 SESSIONID: 返回审计会话标识符。您不能在分布式 SQL 语句中指定此参数。 SID: 返回会话 ID。 TERMINAL: 当前会话终端的操作系统标识符。

返回值

Oracle USERENV() 函数返回。

如果任意一个参数为 NULLUSERENV() 将返回 NULL

Oracle USERENV() 示例

这里有几个展示了 Oracle USERENV() 函数用法的示例。

基本用法

下面的语句展示了 Oracle USERENV() 函数用法。

SELECT
    USERENV('ISDBA')
FROM dual;

输出:

USERENV('ISDBA')
___________________
FALSE

NULL 参数

您不能为参数指定一个 NULL 值, 否则 USERENV() 将报告一个错误。

SET NULL 'NULL';
SELECT
    USERENV(NULL)
FROM dual;

输出:

SQL Error: ORA-02003: invalid USERENV parameter
02003. 00000 -  "invalid USERENV parameter"

在本示例中,我们使用 SET NULL 'NULL'; 语句将 NULL 值显示为 'NULL' 字符串。

结论

Oracle USERENV() 是一个内置函数,它返回有关当前会话的信息。