【oracle】Oracle創建帶參數視圖


 

--創建包
create or replace package p_view_param is

  function set_orgid_param(orgId varchar2) return varchar2;
  function get_orgid_param return varchar2;
  
  function set_org_param(org varchar2) return varchar2;
  function get_org_param return varchar2;
  
end p_view_param;

--實現包體
create or replace package body p_view_param is

  paramValue varchar2(10);
  paramOrg varchar2(10);
  function set_orgid_param(orgId varchar2) return varchar2 is
  begin
    paramValue:=orgId;
    return orgId;
  end;

  function get_orgid_param return varchar2 is
  begin
    return paramValue;
  end;
  
  function set_org_param(org varchar2) return varchar2 is
  begin
    paramOrg:=org;
    return org;
  end;

  function get_org_param return varchar2 is
  begin
    return paramOrg;
  end;
      
end p_view_param;

--創建視圖
create or replace view v_view as
select MATERIAL_NO from WMS_INVENTORY WHERE quantity = p_view_param.get_org_param()
union all
select MATERIAL_NO from WMS_INVENTORY WHERE MATERIAL_NO = p_view_param.get_orgid_param();

--查詢SQL
select * from v_view where p_view_param.set_param(3050)=3050;
select * from v_view where p_view_param.set_material_no('L07343')='L07343';

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM