Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.misc -> Re: Use of an array NOT number cause error

Re: Use of an array NOT number cause error

From: William Robertson <williamr2019_at_googlemail.com>
Date: Fri, 06 Jul 2007 17:16:45 -0000
Message-ID: <1183742205.820306.38560@g4g2000hsf.googlegroups.com>


On Jul 6, 1:29 pm, Mariano <mariano.calan..._at_gmail.com> wrote:
> Then I've this function:
>
> ======================================
>
> FUNCTION "SEMIAUTO"(px NUMBER)
>
> RETURN automatiche AS
>
> results automatiche := automatiche();
>
> CURSOR c_class IS
> SELECT id_mal, SUM(percent) AS p
> FROM malattie_sintomi
> WHERE id_sin IN (px)
> and id_mal in (select id_mal from malattie_sintomi group by
> id_mal having count(*) >= 1)
> GROUP BY id_mal;
>
> BEGIN
> FOR v_Rec IN c_class LOOP
> results.EXTEND;
> results(results.LAST) := automatica(v_Rec.id_mal,
> v_Rec.p);
> END LOOP;
> RETURN results;
> END;
>
> ======================================
>
> As you could see, this function accept a NUMBER in input, this number
> will be a parameter of my cursor c_class.
> But number it's not usefull for my job, I need to pass an unknow
> number of NUMBER (sorry for words joke :D) a sort of array.
>
> I've write:
>
> type sinArray is table of number;
>
> and now header of my function is something like
>
> FUNCTION "SEMIAUTO"(px SINARRAY)
>
> But in this way i have a conflict and a message advise me that is
> needed NUMBER not SINARRAY.
>
> What I can do?

If parameter PX is a SINARRAY then the IN clause should be

IN (SELECT column_value FROM TABLE(px))

and not

IN (px) Received on Fri Jul 06 2007 - 12:16:45 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US