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', '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
  FROM DUAL;

SYS_CONTEXT 函数是Oracle提供的一个获取环境上下文信息的预定义函数。

该函数用来返回一个指定namespace下的parameter值。该函数可以在SQL和PL/SQL语言中使用。

SYS_CONTEXT 实际上就是一个Oracle存储和传递参数的容器访问函数。

我们登入Oracle服务器,是带有会话信息session_info和其他一些属性信息。

其中,有一些是Oracle预定义的,登录系统的时候自动填入到指定的变量中。还有一些是我们自己定义到其中,用于传递值使用的。

SYS_CONTEXT 语法格式:SYS_CONTEXT('namespace','parameter'{,LENGTH});

其中,namespace是存储信息的一个组group单位,namespace是按照类别进行分类的。

一个namespace下可以有多个参数值,通过不同的parameter进行区分。namespace是预先定义好的SQL标识符,而parameter是可以任意大小写非敏感的字符串,不超过30位长度。

函数返回值为varchar2类型,长度默认为256位。如果需要限制这个默认值,可以数据length参数作为新的返回长度值。

设置namespace指定parameter值,可以使用dbms_session.set_context方法进行。

[oracle@ebs12vis ~]$ sqlplus apps/apps

SQL*Plus: Release 11.1.0.7.0 - Production on Thu Oct 30 20:23:36 2014

Copyright (c) 1982, 2008, Oracle.  All rights reserved.

Connected to:
Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> create context test using set_test_context;

Context created.

SQL> create or replace procedure set_test_context(value in varchar2) is
  2  begin
  3  dbms_session.set_context('test','key',value);
  4  end set_test_context;
  5  /

Procedure created.

SQL> exec set_test_context('This is a context set value!');

PL/SQL procedure successfully completed.

SQL> select sys_context('test','key') show_value from dual;

SHOW_VALUE
--------------------------------------------------------------------------------
This is a context set value!

SYS_CONTEXT 详细用法的更多相关文章

  1. C#播放声音的四种方法 +AxWindowsMediaPlayer的详细用法

    C#播放声音的四种方法 第一种是利用DirectX 1.安装了DirectX SDK(有9个DLL文件).这里我们只用到MicroSoft.DirectX.dll和 Microsoft.Directx ...

  2. 在DOS下的DEBUG命令的详细用法

    在DOS下的DEBUG命令的详细用法 名称 解释 格式 a (Assemble) 逐行汇编 a [address] c (Compare) 比较两内存块 c range address d (Dump ...

  3. __declspec关键字详细用法

    __declspec关键字详细用法 __declspec用于指定所给定类型的实例的与Microsoft相关的存储方式.其它的有关存储方式的修饰符如static与extern等是C和C++语言的ANSI ...

  4. CString.Format的详细用法(转)

    CString.Format的详细用法(转) 在MFC程序中,使用CString来处理字符串是一个很不错的选择.CString既可以处理Unicode标准的字符串,也可以处理ANSI标准的字符串.CS ...

  5. IFRAM的详细用法

    IFRAM的详细用法:   IFRAM的详细用法:  <IFRAME>用于设置文本或图形的浮动图文框或容器. BORDER <IFRAME BORDER="3"& ...

  6. 【转】java.util.vector中的vector的详细用法

    [转]java.util.vector中的vector的详细用法 ArrayList会比Vector快,他是非同步的,如果设计涉及到多线程,还是用Vector比较好一些 import java.uti ...

  7. DOM Style样式对象的详细用法

    DOM Style样式对象的详细用法 HTML Style样式比较复杂,相应访问.修改方法也有所差异.参考相关资料,整理如下. 典型Html文件如下,有三种定义方式. <head>     ...

  8. css基础之 font的简写规则 以及 自定义 CSS3 @font-face详细用法

    Part 1 font简写 CSS的命名规则是用英文字母 数字 和下划线(一般用小写)来命名.简写css font的好处有三:一是写起来方便(就像键盘快捷键):二是简化代码:三是帮助你熟悉和深刻理解c ...

  9. Tomcat详细用法学习(三)

    本篇接上一篇<Tomcat详细用法学习(二)>,主要讲解服务器所要求的web应用的组织结构. 上一篇说到了如何使用服务器将自己的web应用映射成虚拟目录,以便于在浏览器中可以对自己开发的w ...

随机推荐

  1. win 10应用商店下载应用错误码0x80070422

    Win10应用商店下载应用提示错误0x80070422怎么办? 一些安装了Win10系统的朋友们在使用过程中发现,在使用WIn8应用商店下载免费应用的时候,系统提示:错误0x80070422,这是怎么 ...

  2. C# 中使用win32函数 GetScrollInfo返回false 返回引用全是零的问题

    最近做一个项目要获得ScrollBar的位置,因为.net找不到此类功能,只好用MFC中的函数了,GetScrollPos只返回listview顶部的位置,此时我找到了GetScrollInfo,觉得 ...

  3. ZOJ 2745 01-K Code(DP)(转)

    题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=1745 题目大意:一个串由N个字符组成,每个字符是‘0’或者是‘1’, ...

  4. 浅析JAVA设计模式(二)

    2. 里氏替换原则:LSP(Liskov Substitution Principle)里氏替换原则,定义为只要父类出现的地方子类就可以出现,而且用子类替换后,程序也不会出现问题,使用者根本不用关心是 ...

  5. Mac apache配置问题解决

    AH00526: Syntax error on line 20 of /private/etc/apache2/extra/httpd-mpm.conf: Invalid command 'Lock ...

  6. Centos学习手册——装逼宝典之强制重置密码

    ---恢复内容开始--- Centos学习手册by RuffianFish; 痞子鱼 近日闲的无聊,而最近又在搞Centos决定写个Centos详细的学习手册,以便自己在长时间没摸Centos的情况下 ...

  7. Linux网络设置高级指南

    from:http://www.oschina.net/question/23734_117144 Linux网络设置高级指南 本文面向的是被Linux复杂的有线无线网络架构弄得头昏脑胀:或者被网上半 ...

  8. ES6 语法简介

    参考: http://es6.ruanyifeng.com/ 总结学习 JavaScript语言下一代标准,2015年6月正式发布. 1.let和const命令 let用作变量声明,只在代码块内有效 ...

  9. grunt-npm编译bootstrap源码

    因为gmu需要用编译的方式下载,于是联想到bootstrap什么less sass编译 less先学,据说基于js编译和less编译器,安装起来详细, sass据网上介绍基于ruby, 以下为在mac ...

  10. mysqli 取出数据库中某表的表头和内容

    需求如题 取出数据库中某表的表头和内容,并显示该表的行数和列数 <?php //显示表内容的函数 function showTable($tableName){ //连接数据库 $mysqli= ...