碰到一个奇怪的问题,按照网络上的方法 做了两个带有参数的视图view1_param,view1_param,参数为yyyymmdd字符串日期:1:
create or replace package p_view_date is
function set_param(num varchar2) return varchar2;
function get_param return varchar2;
end p_view_date;2:
create or replace package body p_view_date is
paramValue varchar2(10);
function set_param(num varchar2) return varchar2 is
begin
paramValue:=num;
return num;
end; function get_param return varchar2 is
begin
return paramValue;
end;end p_view_date;碰到的问题:select * from view1_param where p_view_date.set_param('20111031') ='20111031'
union all
select * from view2_param where p_view_date.set_param('20111031') ='20111031'可以得到完整的数据,但是单独执行下面两条语句均为0记录
select * from view1_param where p_view_date.set_param('20111031') ='20111031';
select * from view2_param where p_view_date.set_param('20111031') ='20111031'请问是什么原因?
create or replace package p_view_date is
function set_param(num varchar2) return varchar2;
function get_param return varchar2;
end p_view_date;2:
create or replace package body p_view_date is
paramValue varchar2(10);
function set_param(num varchar2) return varchar2 is
begin
paramValue:=num;
return num;
end; function get_param return varchar2 is
begin
return paramValue;
end;end p_view_date;碰到的问题:select * from view1_param where p_view_date.set_param('20111031') ='20111031'
union all
select * from view2_param where p_view_date.set_param('20111031') ='20111031'可以得到完整的数据,但是单独执行下面两条语句均为0记录
select * from view1_param where p_view_date.set_param('20111031') ='20111031';
select * from view2_param where p_view_date.set_param('20111031') ='20111031'请问是什么原因?
and t.xf_baldate = to_date(p_view_date.get_param(),'yyyymmdd')