PL/SQL problem z kolekcjami

0

Witam,
potrzebuję pomocy z napisaniem procedury.
Jako parametr wejściowy do procedury dostanę jeden obiekt, który może zawierać kilka MSISDN (no i utworzyłem odpowiednie typy).
Nie wiem natomiast jak się odwołać do tej obiektów tej listy w zapytaniu dla kursora, a dokładnie w klauzuli IN
Z racji tego, że nie mam za dużo pojęcia o PL/SQL proszę o pomoc.

create or replace type MSISDN as object (
MSISDN	varchar2(11)
);
/

create or replace type MSISDNList is table of MSISDN;
/

create or replace type CustomerType as object (
MSISDN  MSISDNList
,PESEL varchar2(11)
,email varchar2(50)
,gender varchar2(50)
,foreign char(1)
,BirthDate timestamp(0)
);
/


create or replace PROCEDURE GetOffer (customer IN CustomerType, recommendation out SYS_REFCURSOR  )
is
begin
open recommendation for select * FROM REKOM WHERE numer IN (customer.MSISDN);
END GetOffer;
/
0

open recommendation for select * FROM REKOM WHERE numer IN (SELECT msisdn FROM TABLE(customer.MSISDN));

i polecam na przyszłość najpierw dokumentację https://docs.oracle.com/cd/B19306_01/appdev.102/b14289/dcitblfns.htm#CHDCIEJG potem google a na koniec forum

0
abrakadaber napisał(a):

open recommendation for select * FROM REKOM WHERE numer IN (SELECT msisdn FROM TABLE(customer.MSISDN));

i polecam na przyszłość najpierw dokumentację https://docs.oracle.com/cd/B19306_01/appdev.102/b14289/dcitblfns.htm#CHDCIEJG potem google a na koniec forum

Dziękuję za podpowiedź. Niestety nie natrafiłem w dokumentacji na odpowiedni rozdział, gdyż nie znam dobrze obiektów bazy Oracle, a musiałem napisać pewną procedurę do mojego webservice'u.

1 użytkowników online, w tym zalogowanych: 0, gości: 1