oracle sys_context與dbms_session.set_context實現view動態查詢
--建立包及包體(之前我僅建立包,未建立包體;且要定義一個儲存過程
--呼叫dbms_session.set_context配置context的相關引數值
SQL> create or replace package pack_order_date
2 as
3 procedure put(key varchar2,value varchar2);
4 end pack_order_date;
5 /
Package created
SQL> create or replace package body pack_order_date
2 as
3 procedure put(key varchar2,value varchar2)
4 is
5 begin
6 dbms_session.set_context('my_context',key,value);
7 end;
8 end pack_order_date;
9 /
Package body created
--建立了包及包體,然後建立context,注意:此context要位於上述的包中
--且context的名稱要與上述包體儲存過程set_context的my_context一樣
create or replace context my_context using pack_order_date;
--建立基於context的檢視
SQL> create or replace view v_t_limit as select a,end_date from t_limit where end_date=sys_context('my_context','order_date');
View created
--執行包體儲存過程為context屬性order_date賦值
SQL> exec pack_order_date.put('order_date','2011');
PL/SQL procedure successfully completed
--查詢檢視,即可實現動化引數化查詢檢視了
SQL> select * from v_t_limit;
A END_DATE
--------------------------------------- ----------------------
2 2011
SQL> select * from t_limit;
A END_DATE
--------------------------------------- ----------------------
1 2013
2 2011
小結:1,sys_context使用,2個引數分別為:context及其屬性
2,context屬性用dbms_session.set_context配置
3,建立包及包體,為context的屬性配置值
4,透過sys_context建立檢視
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9240380/viewspace-755722/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- django 動態查詢實現過程Django
- jpa動態查詢與多表聯合查詢
- 查詢演算法集:順序查詢、二分查詢、插值查詢、動態查詢(陣列實現、連結串列實現)演算法陣列
- 查詢(2)--動態查詢
- 有沒有用EJB(CMP)實現動態查詢的方法?
- Mybatis連線池_動態sql語句_多表查詢實現MyBatisSQL
- oracle狀態查詢(補)Oracle
- oracle常用狀態查詢Oracle
- BST查詢結構與折半查詢方法的實現與實驗比較
- Oracle 查詢轉換-02 View MergingOracleView
- ThinkPHP getBy動態查詢PHP
- SQL SERVER 動態查詢SQLServer
- 利用 DynamicLinq 實現簡單的動態表示式構建查詢
- hibernate 動態查詢(DetachedCriteria )
- oracle全文索引之如何實現查詢Oracle索引
- mybatis原始碼學習:基於動態代理實現查詢全過程MyBatis原始碼
- 動態SQL——構造通用動態頁面查詢SQL
- EntityFramework動態多條件查詢與Lambda表示式樹Framework
- Access查詢實現Mysql的 limit 查詢MySqlMIT
- oracle中connect by prior實現遞迴查詢Oracle遞迴
- 查詢(1)--靜態查詢
- Sy.ExpressionBuilder 也許會是動態查詢的另一種實現方式ExpressUI
- XML卷之實戰錦囊(2)動態查詢(轉)XML
- Oracle的查詢重啟動Oracle
- java實現折半查詢。Java
- PHP--動態生成sql查詢表格PHPSQL
- SpringDataJpa (二)-動態查詢&多表操作Spring
- web後端動態匹配模型查詢Web後端模型
- 通過Oracle動態效能檢視採集查詢調優數Oracle
- Nginx 動態發現方案與實踐Nginx
- Linq to Sql : 動態構造Expression進行動態查詢SQLExpress
- Mybatis 裡對映檔案的動態 SQL 語句,實現if,where,foreache的SQL語句動態拼接查詢MyBatisSQL
- KCSQL SERVER實現連線與合併查詢dinSQLServer
- Spring Data Jpa 的簡單查詢多表查詢HQL,SQL ,動態查詢, QueryDsl ,自定義查詢筆記SpringSQL筆記
- 對Oracle View授權和where查詢需要注意的地方OracleView
- SSH:hiberate實現資料的查詢(單查詢和全查詢)
- indexdb實現分頁查詢Index
- mysql多表查詢如何實現MySql