• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

沧海·旭日

旭日东升处 沧海碧波殊
  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

关于实现带参数的视图

--创建存储过程 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 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;

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

posted on 2006-11-05 17:20  changhai-xuri  阅读(1979)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3