首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >YashanDB SYS_CONTEXT函数

YashanDB SYS_CONTEXT函数

作者头像
用户10349277
发布2025-08-05 11:55:06
发布2025-08-05 11:55:06
2380
举报

SYS_CONTEXT

语法图

SYS_CONTEXT函数返回当前时刻与namespace关联的parameter值。

函数的返回值类型为VARCHAR,默认长度为256字节。

namespace

该参数须为YashanDB内置的命名空间USERENV,不区分大小写,输入其他值时函数返回NULL。

parameter

指定参数,须为字符型,或可转换为字符型的其他类型(LOB、XMLTYPE类型支持隐式转换)。大小写不敏感。指定的parameter须与namespace相关联,若为非法parameter,将报错。

length

指定返回值的长度。须为数值型或可隐式转换为数值型的其他类型,且必须处于INT类型的值域范围内,否则报错。

系统对length的值按整数处理,对于非整数将进行小数部分截断,保留整数部分。

本函数接受的length合法值在[1,4000]区间,对于不在此范围的其他整数将按默认值256处理。

下表列示USERENV预定义的parameter:

parameter

返回值

AUTHENTICATED_IDENTITY

身份验证中使用的标识* 经过密码验证的数据库用户:返回数据库用户名,与SCHEMA名称相同* 用密码文件的系统用户:返回登录名

AUTHENTICATION_METHOD

身份验证方法* 经过密码或密码文件验证的身份:PASSWORD

CLIENT_INFO

用户会话信息

CLIENT_PROGRAM_NAME

与数据库连接的会话程序的名称

CURRENT_SCHEMA

当前活动的默认SCHEMA名称

CURRENT_SCHEMAID

当前活动的默认SCHEMAID

CURRENT_USER

当前活动的数据库用户名称

CURRENT_USERID

当前活动的数据库用户ID

DB_NAME

当前数据库名称

HOST

客户端连接的服务器名称

INSTANCE

当前实例的ID

IP_ADDRESS

客户端连接的计算机IP地址

ISDBA

当前用户是否具有DBA权限

LANGUAGE

数据库使用的字符集

YASDB_HOME

YASDB_HOME主目录的完整路径名

OS_USER

启动数据库会话的客户端进程的操作系统用户名

SESSION_USER

登录用户的名称

SESSION_USERID

登录用户的ID

SID

会话ID

示例

代码语言:javascript
复制
SELECT SYS_CONTEXT('USERENV', 'SESSION_USER') res FROM DUAL;

RES
----------------------------------------------------------------
SYS

SELECT SYS_CONTEXT('USERENV', 'DB_NAME') res FROM DUAL;

RES
----------------------------------------------------------------
yas

代码

代码语言:javascript
复制
SYS_CONTEXT::= SYS_CONTEXT "(" namespace "," parameter ["," length] ")"

SYS_CONTEXT函数返回当前时刻与namespace关联的parameter值。

函数的返回值类型为VARCHAR,默认长度为256字节。

namespace

该参数须为YashanDB内置的命名空间USERENV,不区分大小写,输入其他值时函数返回NULL。

parameter

指定参数,须为字符型,或可转换为字符型的其他类型(LOB、XMLTYPE类型支持隐式转换)。大小写不敏感。指定的parameter须与namespace相关联,若为非法parameter,将报错。

length

指定返回值的长度。须为数值型或可隐式转换为数值型的其他类型,且必须处于INT类型的值域范围内,否则报错。

系统对length的值按整数处理,对于非整数将进行小数部分截断,保留整数部分。

本函数接受的length合法值在[1,4000]区间,对于不在此范围的其他整数将按默认值256处理。

下表列示USERENV预定义的parameter:

parameter

返回值

AUTHENTICATED_IDENTITY

身份验证中使用的标识* 经过密码验证的数据库用户:返回数据库用户名,与SCHEMA名称相同* 用密码文件的系统用户:返回登录名

AUTHENTICATION_METHOD

身份验证方法* 经过密码或密码文件验证的身份:PASSWORD

CLIENT_INFO

用户会话信息

CLIENT_PROGRAM_NAME

与数据库连接的会话程序的名称

CURRENT_SCHEMA

当前活动的默认SCHEMA名称

CURRENT_SCHEMAID

当前活动的默认SCHEMAID

CURRENT_USER

当前活动的数据库用户名称

CURRENT_USERID

当前活动的数据库用户ID

DB_NAME

当前数据库名称

HOST

客户端连接的服务器名称

INSTANCE

当前实例的ID

IP_ADDRESS

客户端连接的计算机IP地址

ISDBA

当前用户是否具有DBA权限

LANGUAGE

数据库使用的字符集

YASDB_HOME

YASDB_HOME主目录的完整路径名

OS_USER

启动数据库会话的客户端进程的操作系统用户名

SESSION_USER

登录用户的名称

SESSION_USERID

登录用户的ID

SID

会话ID

示例

代码语言:javascript
复制
SELECT SYS_CONTEXT('USERENV', 'SESSION_USER') res FROM DUAL;

RES
----------------------------------------------------------------
SYS

SELECT SYS_CONTEXT('USERENV', 'DB_NAME') res FROM DUAL;

RES
----------------------------------------------------------------
yas

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • SYS_CONTEXT
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档