Bonjout,
Je dois dans une procedure sous PL/SQL Developper retourner des colonnes à partir d'un select faisant des jointures avec des tables différentes.
Je suis une peu perdu donnez moi une idée.
Bonjout,
Je dois dans une procedure sous PL/SQL Developper retourner des colonnes à partir d'un select faisant des jointures avec des tables différentes.
Je suis une peu perdu donnez moi une idée.
j'ai pas du tout compris
tu pourrais donner un exemple et eventuellement montrer ce que tu as fait et pourquoi ça ne te convient pas ?
Comprends pas trop ta demande non plus ? Tu parles d'une requête dynamique et de retourner la liste des colonnes ???
en fait je veux trans former cette requête qui est écrit sous Sybase en PL/SQL oracle :
create procedure setprice() is
result(pal_articlename char(50),pal_parent char(50));
begin
select p.pal_articlename,
a.pal_parent from article_bom a, project_list p
where a.artcleid=b=artcleid,
end
Donc ici il parait que result() retourne le resultat de la SElect portant sur ces colonnes mentionnés dans les parenthéses.
je veux récrire ça dans PL/SQL.
Bon ben dans ce cas,
Je ne connais pas ton niveau de connaissance en PL/SQL mais en gros si tu fais un SELECT...INTO et que ton select renvoit plus d'une ligne --> tu auras une exception.
Donc dans ce cas, on boucle et on agit sur le record à chaque tour de boucle.
Si tu veux retourner le résultat, je déclarerais un curseur de type REF CURSOR qui retourne un RECORD dans la spec d'un package, et une fonction qui retournerait ce ref cursor.
Dans le code qui appel le package, il te suffit de déclarer le record de type défini dans ton package et fecther...
A+
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 DECLARE TYPE my_typ_record IS RECORD ( les éléments de ton record ); TYPE my_typ_ref_cursor IS REF CURSOR RETURN my_typ_record; l_cursor my_typ_ref_cursor; BEGIN OPEN l_cursor FOR ton_select; RETURN l_cursor END;
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager