sys_context函数是Oracle提供的一个获取环境上下文信息的预定义函数。该函数用来返回一个指定namespace下的parameter值。该函数可以在sql和PL/SQL语言中使用。sys_context实际上就是一个Oracle存储和传递参数的容器访问函数。我们登入Oracle服务器,是带有会话信息和其他一些属性信息的。其中,有一些是Oracle预定义的,登录系统的时候自动填入到指定的变量中。另一个函数userenv()保留与之兼容。 以下是可以通过sys_context函数获取到的一些信息: select sys_context('USERENV', 'TERMINAL') terminal, sys_context('USERENV', 'LANGUAGE') language, sys_context('USERENV', 'SESSIONID') sessionid, sys_context('USERENV', 'INSTANCE') instance, sys_context('USERENV', 'ENTRYID') entryid, sys_context('USERENV', 'ISDBA') isdba, sys_context('USERENV', 'NLS_TERRITORY') nls_territory, sys_context('USERENV', 'NLS_CURRENCY') nls_currency, sys_context('USERENV', 'NLS_CALENDAR') nls_calendar, sys_context('USERENV', 'NLS_DATE_FORMAT') nls_date_format, sys_context('USERENV', 'NLS_DATE_LANGUAGE') nls_date_language, sys_context('USERENV', 'NLS_SORT') nls_sort, sys_context('USERENV', 'CURRENT_USER') current_user, sys_context('USERENV', 'CURRENT_USERID') current_userid, sys_context('USERENV', 'SESSION_USER') session_user, sys_context('USERENV', 'SESSION_USERID') session_userid, sys_context('USERENV', 'PROXY_USER') proxy_user, sys_context('USERENV', 'PROXY_USERID') proxy_userid, sys_context('USERENV', 'DB_DOMAIN') db_domain, sys_context('USERENV', 'DB_NAME') db_name, sys_context('USERENV', 'HOST') host, sys_context('USERENV', 'OS_USER') os_user, sys_context('USERENV', 'EXTERNAL_NAME') external_name, sys_context('USERENV', 'IP_ADDRESS') ip_address, sys_context('USERENV', 'MODULE') module, sys_context('USERENV', 'NETWORK_PROTOCOL') network_protocol, sys_context('USERENV', 'BG_JOB_ID') bg_job_id, sys_context('USERENV', 'FG_JOB_ID') fg_job_id, sys_context('USERENV', 'AUTHENTICATION_TYPE') authentication_type, sys_context('USERENV', 'AUTHENTICATION_DATA') authentication_data, sys_context('userenv', 'SID') from dual; from dual; 我们还可以自己定义上下文参数来传递值,下面是sys_context函数的使用格式: sys_context('namespace', 'parameter'{, length}); 其中,namespace是存储信息的一个组单位,namespace是按照类别进行分类的。一个namespace下可以有多个参数值,通过不同的parameter进行区分。namespace是预先定义好的SQL标识符,而parameter是可以任意大小写非敏感的字符串,不超过30位长度。函数返回值为varchar2类型,长度默认为256位。如果需要限制这个默认值,可以length参数作为新的返回长度值。 设置namespace指定parameter值,可以使用dbms_session.set_context方法进行: -- 1、定义namespace create context Test using set_test_context; -- 2、定义方法 create or replace procedure set_test_context(vc_value in varchar2) is begin dbms_session.set_context('Test', 'a1', vc_value); end; -- 3、设置值 exec set_test_context('m'); -- 4、获取值 select sys_context('Test', 'a1') from dual; SYS_CONTEXT('TEST','A1') ------------------------------------ m
sys_context函数的用法
来源:这里教程网
时间:2026-03-03 12:12:57
作者:
编辑推荐:
- word中如何取消空格变成点03-03
- sys_context函数的用法03-03
- 在word中绘画虚线的方法03-03
- [20181109]12c sqlplus rowprefetch参数5.txt03-03
- word中如何编辑目录的两种方法03-03
- 在word中画虚线的教程03-03
- [20181109]12cR2 的pre_page_sga参数.txt03-03
- 删除wordpress主题的教程03-03
下一篇:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- HanLP用户自定义词典源码分析
HanLP用户自定义词典源码分析
26-03-03 - orecle分析函数
orecle分析函数
26-03-03 - Windows下用命令行工具ADRCI跟踪日志文件
Windows下用命令行工具ADRCI跟踪日志文件
26-03-03 - word空白页无法删除这么办
word空白页无法删除这么办
26-03-03 - 跨平台级联dataguard配置
跨平台级联dataguard配置
26-03-03 - informatic
informatic
26-03-03 - ORACLE 递归算法
ORACLE 递归算法
26-03-03 - ORACLE JOB
ORACLE JOB
26-03-03 - SQL优化案例-使用with as优化Subquery Unnesting(七)
- ORACLE数据库备份
ORACLE数据库备份
26-03-03
