ITPub博客

首页 > 数据库 > 国内数据库 > YashanDB SYS_CONTEXT函数

YashanDB SYS_CONTEXT函数

国内数据库 作者:崖山数据库系统YashanDB 时间:2025-08-05 10:56:07 0 删除 编辑

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

示例

SELECT SYS_CONTEXT('USERENV', 'SESSION_USER') res FROM DUAL;RES----------------------------------------------------------------SYSSELECT SYS_CONTEXT('USERENV', 'DB_NAME') res FROM DUAL;RES----------------------------------------------------------------yas
代码
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

示例

SELECT SYS_CONTEXT('USERENV', 'SESSION_USER') res FROM DUAL;RES----------------------------------------------------------------SYSSELECT SYS_CONTEXT('USERENV', 'DB_NAME') res FROM DUAL;RES----------------------------------------------------------------yas


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70028812/viewspace-3092774/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
崖山数据库系统YashanDB是深圳计算科学研究院完全自主研发设计的新型数据库系统,融入原创理论,支持单机/主备、共享集群、分布式等多种部署方式,覆盖OLTP/HTAP/OLAP交易和分析混合负载场景,为客户提供一站式的企业级融合数据管理解决方案。

注册时间:2023-04-11

  • 博文量
    722
  • 访问量
    639752