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的问题 ?
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的问题 ?
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;
好象应该这么写吧,
-----------------------------------
是隔开了,不过传进去这后,oracle好像把'04','05','06'作为了一个字符串,并不是我想像中的,是三个串。-----------------------------------
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);
-------------------------------------
这样也一样的