诱宵美九cos神还原:zhouweifeng | 带参数的视图

来源:百度文库 编辑:九乡新闻网 时间:2024/04/26 07:12:43
带参数的视图 =========================================================== 作者: zhouwf0726(http://zhouwf0726.itpub.net)
发表于:2007.06.06 16:24
分类: oracle开发
出处:http://zhouwf0726.itpub.net/post/9689/292841
---------------------------------------------------------------

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
zhouwf0726 发表于:2007.06.06 16:24 ::分类: ( oracle开发 ) ::阅读:(42753次) :: 评论 (2) :: 引用 (0)