1. 程式人生 > >oracle sys_context()函式

oracle sys_context()函式

第一個引數為’USERENV’,是固定的,第二個引數也是固定的,但是是多選固定,可選的值如下所示:
select sys_context(‘USERENV’,’AUTHENTICATION_TYPE’) from dual;–使用者的認證型別
select sys_context(‘USERENV’,’AUTHENTICATION_DATA’) from dual;–未知
select sys_context(‘USERENV’,’BG_JOB_ID’) from dual;–當前指定id的會話是否為oracle後臺程式建立,不是則返回null
select sys_context(‘USERENV’,’CLIENT_INFO’) from dual;–通過dbms_application_info包可以儲存高達64位元組的使用者會話資訊
select sys_context(‘USERENV’,’CURRENT_SCHEMA’) from dual;–預設的schema將被當做當前的schema。當在當前會話中使用ALTER SESSION SET CURRENT_SCHEMA語句的時候,它的查詢返回值將被改變
select sys_context(‘USERENV’,’CURRENT_SCHEMAID’) from dual;–當前schema的id
select sys_context(‘USERENV’,’CURRENT_USER’) from dual;–當前的登陸使用者
select REPLACE(SUBSTR(sys_context(‘USERENV’,’HOST’),1,30),’\’,’:’) from dual;–當前會話主機作業系統名
select sys_context(‘USERENV’,’CURRENT_USERID’) from dual;–當前登陸的使用者的id
select sys_context(‘USERENV’,’DB_DOMAIN’) from dual;–為資料庫的域指定初始化引數
select sys_context(‘USERENV’,’DB_NAME’) from dual;–資料庫例項名
select sys_context(‘USERENV’,’ENTRYID’) from dual;–可用的審計標示符。不能再分散式sql語句中使用此選項。使用USERENV關鍵字必須置AUDIT_TRAIL的初始化引數為真。
select sys_context(‘USERENV’,’EXTERNAL_NAME’) from dual;–資料庫使用者的副檔名
select sys_context(‘USERENV’,’FG_JOB_ID’) from dual;–返回作業id當此會話是客戶端程序建立。否則,返回null
select sys_context(‘USERENV’,’INSTANCE’) from dual;–當前資料庫例項的標示id
select sys_context(‘USERENV’,’ISDBA’) from dual;–當前使用者是否是以dba身份登入
select sys_context(‘USERENV’,’LANG’) from dual;–iso對‘LANGUAGE’的簡稱,查詢的引數比“LANGUAGE”短
select sys_context(‘USERENV’,’LANGUAGE’) from dual;–結果為當前資料庫使用的儲存語言,跟上面查詢意義一樣
select sys_context(‘USERENV’,’NETWORK_PROTOCOL’) from dual;–用於通訊的網路協議
select sys_context(‘USERENV’,’NLS_CALENDAR’) from dual;–當前會話使用的,格林尼治時間
select sys_context(‘USERENV’,’NLS_CURRENCY’) from dual;–本地化的貨幣符,如人民幣為¥,美元符為$
select sys_context(‘USERENV’,’NLS_DATE_FORMAT’) from dual;–當前使用的日期格式,一般中國為dd-mon-rr
select sys_context(‘USERENV’,’NLS_DATE_LANGUAGE’) from dual;–表示日期的語言,如中文簡體SIMPLIFIED CHINESE
select sys_context(‘USERENV’,’NLS_TERRITORY’) from dual;–資料庫伺服器所在區域,如中國CHINA
select sys_context(‘USERENV’,’OS_USER’) from dual;–作業系統的使用者名稱
select sys_context(‘USERENV’,’PROXY_USER’) from dual;–是否使用代理使用者。否返回null
select sys_context(‘USERENV’,’PROXY_USERID’) from dual;–代理使用者id
select sys_context(‘USERENV’,’SESSION_USER’) from dual;–當前認證的資料庫使用者名稱
select sys_context(‘USERENV’,’SESSION_USERID’) from dual;–當前認證的資料庫使用者名稱id
select sys_context(‘USERENV’,’SESSIONID’) from dual;–當前會話id
select sys_context(‘USERENV’,’TERMINAL’) from dual;–作業系統使用者組
select sys_context(‘USERENV’,’IP_ADDRESS’) from dual;–當前會話主機ip
select sys_context(‘USERENV’,’HOST’) from dual;–當前會話主機作業系統名