oracle 创建带参数视图

创建包:

create or replace package p_view_param  is
   function set_param(num number) return number;
   function get_param  return number;
   function set_material_no(materiralNo varchar2) return varchar2;
   function get_material_no return varchar2;
   
end p_view_param;

实现包体:

create or replace package body p_view_param is
       paramValue number;
       materialNo wms_inventory.material_no%type;
       function set_param(num number) return number is
       begin
         paramValue:=num;
         return num;
        end;


       function get_param return number is
       begin
         return paramValue;
       end;
       
       function set_material_no(materiralNo varchar2) return varchar2 is
       begin
         materialNo:=materiralNo;
         return materiralNo;
        end;


       function get_material_no return varchar2 is
       begin
         return materialNo;
       end;


       
   end p_view_param;


创建视图:

create or replace view v_wms_inventory as
select MATERIAL_NO from WMS_INVENTORY@SSL_DB WHERE quantity=p_view_param.get_param()
union all
select MATERIAL_NO from WMS_INVENTORY@SSL_DB WHERE MATERIAL_NO=p_view_param.get_material_no();

查询SQL:

select * from v_wms_inventory where p_view_param.set_param(3050)=3050;
select * from wms_inventory@ssl_db where p_view_param.set_material_no('L07343')='L07343';

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值