日期:2014-05-18  浏览次数:20612 次

oracle 过程 in
create   or   replace   procedure   prc_nc01   (
                  prm_year   in   varchar2,
prm_season   in   varchar2,
nc010   out   varchar2
)      
as   begin
select   count(1)into   nc010   from   ae10   a   where   a.aac009   =   '2 '  
and   a.year   =   prm_year   and   a.month   in   (prm_season);
end   prc_nc01;
----------------------------
这个过程中,传入       '04 ', '05 ', '06 '   作为prm_season   ,得不到结果,是不是oracle把它作为了一个整体的字符串,看待呢,有什么方法可以解决这个in的问题   ?


------解决方案--------------------
这个怎么传入的, '04 ', '05 ', '06 '不是用 ", "隔开了吗?
------解决方案--------------------
create or replace procedure prc_nc01 (
prm_year in varchar2,
prm_season in varchar2,
nc010 out varchar2
)
i_temp integer;
as
begin
select count(1)into i_temp from ae10 a where a.aac009 = '2 '
and a.year = prm_year and a.month in (prm_season);
nc010:=to_char(i_temp);
end prc_nc01;
好象应该这么写吧,