Oracle带参数的视图

1.创建包并且在包中建立方法

create or replace package pkg_date is
  /*设定开始日期:yyyMMdd*/
  function set_startDate(stDate varchar2) return varchar2;
  /*取得开始日期*/
  function get_startDate return varchar2;
  /*设定结束日期:yyyMMdd*/
  function set_endDate(edDate varchar2) return varchar2;
  /*取得结束日期*/
  function get_endDate return varchar2;

end pkg_date;

 

2.在包体中建里具体实现的方法

create or replace package body pkg_date is
  startDate varchar2(8);
  endDate varchar2(8);
  function set_startDate(stDate varchar2) return varchar2 is--注意:包体中stDate必须与包中的声明一致
   begin
    startDate:=stDate;
    return stDate;
   end;
 
  function get_startDate return varchar2 is
  begin
    return startDate;
  end;
 
  function set_endDate(edDate varchar2) return varchar2 is
   begin
    endDate:=edDate;
    return edDate;
   end;
 
  function get_endDate return varchar2 is
  begin
    return endDate;
  end;
end pkg_date;

 

3.创建带参视图

CREATE OR REPLACE VIEW 视图名称 AS
SELECT * FROM 表 where startDate = PKG_DATE.get_startDate() and endDate = PKG_DATE.get_endDate();

 

4.调用视图

SELECT * FROM 视图
      where pkg_date.set_startDate('20150714')='20150714'  -- 注意:等号左右两边的值必须相同
      and pkg_date.set_endDate('20150714')='20150714'

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值