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"b A}t0oracle 中好像没有提供参数化视图的功能。
不过,可以用以下方法变通:
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: