oldwain随便写 http://oldwain.itpub.net/ <a href="http://oldwain.itpub.net">oldwain随便写</a>

itpub论坛回复: 参数化视图

上一篇 / 下一篇  2005-07-28 00:00:00 / 个人分类:Oracle

问题:

zzk101

带有参数的view是指这个view可以有参数,当select时可以加入这些参数从而可以返回不同的结果。

for example:

create view my_parameter_view { my_name varchar2(20)} as 
select * from work_log where 
name = my_name
select * from my_parameter_view('my_name')

就会只有我自己的记录。

我的回答:


V'Db"bA}t0

oracle 中好像没有提供参数化视图的功能。

不过,可以用以下方法变通:

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

查询时:

scott@O9I.US.ORACLE.COM> exec pkg_pv.set_pv('SCOTT');

PL/SQL 过程已成功完成。

scott@O9I.US.ORACLE.COM> select * from v_emp;

EMPNO ENAME JOB MGR HIREDATE SAL COMM
---------- ---------- --------- ---------- ---------- ---------- ----------
DEPTNO
----------
7788 SCOTT ANALYST 7566 19-4月 -87 3000
20


scott@O9I.US.ORACLE.COM>


TAG:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

日历

« 2008-11-23  
      1
2345678
9101112131415
16171819202122
23242526272829
30      

数据统计

  • 访问量: 2741
  • 日志数: 1042
  • 建立时间: 2007-11-28
  • 更新时间: 2008-02-22

RSS订阅

Open Toolbar