Oracle 在視圖中使用變量

Oracle 在視圖中使用變量



衆所周知,視圖(view)中是不能直接使用變量的,但是在視圖裏面是可以調用包(package)的,通過package爲視圖傳參。

1 創建全局變量(簡單的get/set方法)

Package:
create or replace package p_countyarea_param is
  --爲視圖創建變量
  function set_param(datetime varchar2) return varchar2;
  function get_param return varchar2;
end p_countyarea_param;

Package Body:
create or replace package body p_countyarea_param is
  --記住日期時間的
  paramValue varchar2(10);
  function set_param(datetime varchar2) return varchar2 is
  begin
    paramValue := datetime;
    return datetime;
  end;

  function get_param return varchar2 is
  begin
    return paramValue;
  end;
end p_countyarea_param;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23

2 在視圖中調用變量

create or replace view p_view_user as
select id,
       realName,
       address 
from tbl_info 
where id = p_countyarea_param.get_param();
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

3 在查詢中調用變量

select * 
from p_view_user 
where p_countyarea_param.set_param(<param>)=<param>
發佈了11 篇原創文章 · 獲贊 8 · 訪問量 12萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章