sys_context函式用法

mengbing1990發表於2017-03-31

第一個引數為'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;--當前會話主機作業系統名

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29551564/viewspace-2136382/,如需轉載,請註明出處,否則將追究法律責任。

相關文章