带参数视图

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
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;

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

你可能感兴趣的:(ORACLE相关)