|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Débutant
Inscription : avril 2005 Messages : 464 ![]() |
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. |
|
|
00
|
|
|
#2 |
![]() ![]() Inscription : janvier 2004 Messages : 15 861 ![]() |
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 ? |
|
|
00
|
|
|
#3 |
|
Nouveau Membre du Club
![]() Inscription : novembre 2005 Messages : 45 ![]() |
Comprends pas trop ta demande non plus ? Tu parles d'une requête dynamique et de retourner la liste des colonnes ???
|
|
|
00
|
|
|
#4 |
|
Débutant
Inscription : avril 2005 Messages : 464 ![]() |
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. |
|
|
00
|
|
|
#5 | ||
|
Nouveau Membre du Club
![]() Inscription : novembre 2005 Messages : 45 ![]() |
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... Code :
|
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com