|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre à l'essai
![]() Inscription : novembre 2009 Messages : 39 ![]() |
Bonjour.
J'ai une fonction qui retourne un tableau à deux dimensions, pour chaque itération i, elle retourne une ligne du tableau et en fin de compte, je dois avoir une matrice (à deux dimensions) en faisant une boucle sur i allant de 1 à tableau.count et après avoir récupéré les données dans la ligne i, je les insère: PIPE ROW(nomDuPackage.montableau(i)); Le problème est que je n'obtiens qu'une seule ligne, c'est à dire il n'y a pas incrémentation de i malgré que la boucle est bonne du point de vue syntaxe et même si j'incrémente la variable i comme suit : i:=i+1 avant LOOP, je n'obtiens pas d'autres lignes et j'ai un message bizarre : aucune donnée requise. Ceci dit, j'ai bien d'autres données dans les autres lignes. Est-ce que quelqu'un a une idée ? Merci d'avance. |
|
|
01
|
|
|
#2 | ||
|
Membre expérimenté
![]() François Inscription : février 2010 Messages : 306 ![]() |
Bonjour,
J'ai pas bien compris l'ensemble du message. Par contre, pour la partie en rapport avec le message etrange, ben il est pas etrange en fait. C'est une "erreur" levee par une fonction pipelined lorsque le programme appelant n'as plus besoin de lignes. J'ai mis "erreur", parce que ce n'est pas bloquant et meme pas signale, sauf si on le demande. Code :
Quand au reste de votre message, va falloir faire des efforts: Code (avec les balises qui vont bien), et resultat attendu. |
||
|
|
00
|
|
|
#3 | ||
|
Membre à l'essai
![]() Inscription : novembre 2009 Messages : 39 ![]() |
Bonjour.
Merci d'avoir répondu. Voici un morceau du code : Code :
i = 1 ORA-06548: aucune autre ligne requise. Merci de votre réponse. |
||
|
|
00
|
|
|
#4 |
|
Membre expérimenté
![]() François Inscription : février 2010 Messages : 306 ![]() |
Presque, vous avez fait cite, au lieu d'utiliser la balise code. C'est le symbole # (pas intuitif mais bon), lorsque vous ecrivez un message il est a droite de la barre ou vous pouvez mettre en gras, etc.
Il y a votre fonction (il doit manquer plein de morceaux parce que la c'est incoherent). Maintenant, votre fonction vous l'appelez comment? Concernant le "aucune autre ligne requise", vous demandez vous meme l'affichage via votre exception when no_data_needed. Ou sinon, relisez mon exemple avec les deux select. Vu le message d'erreur, AMHA, vous ne demandez pas toutes les lignes de votre fonction pipelined. |
|
|
00
|
|
|
#5 | ||||
|
Membre à l'essai
![]() Inscription : novembre 2009 Messages : 39 ![]() |
Merci de votre réponse.
En fait, je fais appel via une procédure stockée comme suit : Code :
Code :
|
||||
|
|
00
|
|
|
#6 |
|
Membre expérimenté
![]() François Inscription : février 2010 Messages : 306 ![]() |
Et temp_cv, vous en faites quoi?
|
|
|
00
|
|
|
#7 | ||||
|
Membre à l'essai
![]() Inscription : novembre 2009 Messages : 39 ![]() |
Merci bien.
Dans l'entête de monPackage, je le déclare en tant que curseur comme suit : Code :
Code :
Merci bien de votre aide. |
||||
|
|
00
|
|
|
#8 | ||
|
Membre expérimenté
![]() François Inscription : février 2010 Messages : 306 ![]() |
Le NO_DATA_NEEDED, c'est pas un soucis dans la majorite des cas. Faut pas stresser la dessus.
Je demandais l'utilisation du curseur. Si vous le fermez avant d'avoir utilise toutes les lignes, alors forcement il ne recupere pas toutes les lignes. Code :
|
||
|
|
00
|
|
|
#9 | ||
|
Membre à l'essai
![]() Inscription : novembre 2009 Messages : 39 ![]() |
Merci bien.
La procédure est cencée retourner un tableau de données à deux dimensions pour les récupérer en java dans une boucle while : Code :
|
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com