2010/01/06

Oracle Database 建立 View (建立, 設定, 取得有 USERENV Parameter 的 View)

在 Oracle View 中,

除了大家熟悉的基本型之外,

Oracle View 還可以加入 Parameter 參數當作 Condition 條件,

來根據前端傳入的參數值, 而做不同的 View Data 取得,

Oracle Database 建立 View 的相關語法, 參考如下 :

 基本型
Create or Repalce View View_Name as
select ...
  from ...
 where ...;

 初階參數型
Create or Repalce View View_Name as
select ...
  from ...
 where ...
   and Column1 = USERENV( 'Option' );

-- 其中常用的 Option 有 :
-- IP_ADDRESS / HOST / CLIENT_INFO

 進階參數型
Create or Repalce View View_Name as
select ...
  from ...
 where ...
   and Column1 = substr( USERENV( 'Option' ), m1, m2 )
   and Column2 = substr( USERENV( 'Option' ), n1, n2 );

 設定 Client 參數值
利用
dbms_application_info.set_client_info( 'Option_Value' );
設定 Client 端的 CLIENT_INFO 資料值.

 取得 Client 參數值
利用
vValue := SYS_CONTEXT( 'USERENV', 'Option' );
取得 Client 端的 CLIENT_INFO 資料值.