oracle视图可以带日期变量么,Oracle中的带参数的视图

本文介绍了如何通过创建Oracle数据库的存储过程和带参数的视图来实现运行时设置变量值的功能。通过包pkg_pvis定义了一个名为pv的变量,可以设置初始值,并在运行时通过调用set_pv过程改变值。然后,创建的视图v_emp根据pkg_pv.get_pv()返回的值过滤emp表中的记录。这种方法提供了一种灵活的方式处理需要在运行时根据不同条件变化的业务需求。
摘要由CSDN通过智能技术生成

创建存储过程

create or replace package pkg_pv is

procedure set_pv(pv varchar2);

function get_pv return varchar2;

end;

create or replace package body pkg_pv is

v varchar2(20);

procedure set_pv(pv varchar2) is begin v:=pv; end;

function get_pv return varchar2 is begin return v; end;

end;

创建带参视图

create view v_emp as select * from emp where ename=pkg_pv.get_pv();

调用过程,结果正确执行

begin

pkg_pv.setpv('scotte');

end;

select * from v_emp;

按照此方法我们可以把通过包的形式来创建一个系统变量,通过在运行时设置其值。来获得对一些需要在运行时有不同值需求的业务处理作一些更简化的处理。本例中我们甚至可以在包体里面它设一个初始值,如果不单独设置时,就采用初值。这样就可以获得更大的灵活性。

bacfe229532752ed1e594d35bc49cc40.gif

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值