oracle 视图获取包参数,查询问题。

建包 目的为 给 视图传参.
create or replace package p_view_param is
function set_startParam(startDate varchar2) return varchar2;
function get_startParam return varchar2;

end p_view_param;

create or replace package body p_view_param is

   paramValue varchar2(20);

   function set_startParam(startDate varchar2) return varchar2 is
    begin
     paramValue:=startDate;
     return startDate;
    end;

   function get_startParam return varchar2 is
   begin
     return paramValue; 
   end;

end p_view_param;

视图 :
create or replace view p_view_user as
select id ,name from cube_user where startDate = to_date(p_view_param.get_startParam(),'yyyy-mm-dd');

查询:
select * from p_view_user where p_view_param.set_startParam('2013-02-01')='2013-02-01';

用此方式在视图中.

遇到问题 :
有些视图可以查询出结果集.

但有些 视图 就无法查询 出结果.
还有的 视图 第一次查询无结果, 第二次可以查出.

菜鸟一枚, 求指教.

2个回答

不同的环境,sql执行顺序不一样,有时候是先执行select语句的set_param,有时候先执行了视图里面的get_param

qq_27150721
qq_27150721 恩, 是这么创建的. 现在出现的是 有的视图 这样用时 查询不出来数据, 大概会是什么原因呢, 用的用户是有权限的.
5 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐