PL/SQL problem z kolekcjami

PL/SQL problem z kolekcjami
K1
  • Rejestracja:ponad 7 lat
  • Ostatnio:ponad 7 lat
  • Postów:2
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.

Kopiuj
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;
/
abrakadaber
abrakadaber
  • Rejestracja:ponad 12 lat
  • Ostatnio:8 miesięcy
  • Postów:6610
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


Chcesz pomocy - pokaż kod - abrakadabra źle działa z techniką.
edytowany 1x, ostatnio: abrakadaber
K1
  • Rejestracja:ponad 7 lat
  • Ostatnio:ponad 7 lat
  • Postów:2
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.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.