Précédent   Forum des professionnels en informatique > Bases de données > Oracle > PL/SQL
PL/SQL Forum d'entraide sur le PL/SQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 08/09/2008, 17h17   #1
Membre régulier
 
Avatar de anas.eh
 
Inscription : février 2007
Messages : 181
Détails du profil
Informations personnelles :
Âge : 27
Localisation : Maroc

Informations forums :
Inscription : février 2007
Messages : 181
Points : 90
Points : 90
Envoyer un message via MSN à anas.eh
Par défaut Taille curseur procédure stockée

Bonjour,

Je veux récupérer la taille du curseur dans une procédure stockée (o_typ_cur) :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
PROCEDURE proc
(
  i__param IN varchar2,
  o_typ_cur OUT dom_ref_cursor
)
IS
BEGIN
 
OPEN o_typ_cur FOR
SELECT *
  FROM TABLE;
 
END proc;
anas.eh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/09/2008, 21h01   #2
Rédacteur/Modérateur
 
Avatar de Vincent Rogier
 
vincent rogier
Inscription : juillet 2007
Messages : 2 355
Détails du profil
Informations personnelles :
Nom : vincent rogier
Âge : 34

Informations forums :
Inscription : juillet 2007
Messages : 2 355
Points : 3 108
Points : 3 108
Salut,


" taille du curseur"... Qu'entends tu par la ?? Le nombre de lignes ?

Tant que tu n'as pas fetché le curseur, tu ne peux pas savoir le nombre de lignes....
__________________
Vincent Rogier.

Rubrique ORACLE : Accueil - Forum - Tutoriels - FAQ - Livres - Blog

Vous voulez contribuer à la rubrique Oracle ? Contactez la rubrique !

OCILIB (C Driver for Oracle)

Librairie C Open Source multi-plateformes pour accéder et manipuler des bases de données Oracle
Vincent Rogier est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 09/09/2008, 09h27   #3
Membre éprouvé
 
Avatar de rvfranck
 
Étudiant
Inscription : novembre 2004
Messages : 739
Détails du profil
Informations personnelles :
Localisation : Canada

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : novembre 2004
Messages : 739
Points : 494
Points : 494
Si par "taille" tu veux parler du nombre de lignes du curseur, tu es obligé de le parcourir comme l'a dit vicenzo.
Code :
1
2
3
4
5
6
7
OPEN o_typ_cur FOR SELECT * FROM TABLE;;
 LOOP
  FETCH o_typ_cur INTO variable;
  EXIT WHEN o_typ_cur%NOTFOUND;
 END LOOP;
 DBMS_OUTPUT.PUTLINE('nb ligne ' || o_typ_cur%ROWCOUNT);
 CLOSE o_typ_cur;
__________________
"Celui qui reconnaît consciemment ses limites est le plus proche de la perfection." Johann Wolfgang
rvfranck est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/09/2008, 09h31   #4
Rédacteur/Modérateur
 
Avatar de Vincent Rogier
 
vincent rogier
Inscription : juillet 2007
Messages : 2 355
Détails du profil
Informations personnelles :
Nom : vincent rogier
Âge : 34

Informations forums :
Inscription : juillet 2007
Messages : 2 355
Points : 3 108
Points : 3 108
Citation:
Envoyé par rvfranck Voir le message
Si par "taille" tu veux parler du nombre de lignes du curseur, tu es obligé de le parcourir comme l'a dit vicenzo.
Code :
1
2
3
4
5
6
7
OPEN o_typ_cur FOR SELECT * FROM TABLE;;
 LOOP
  FETCH o_typ_cur INTO variable;
  EXIT WHEN o_typ_cur%NOTFOUND;
 END LOOP;
 DBMS_OUTPUT.PUTLINE('nb ligne ' || o_typ_cur%ROWCOUNT);
 CLOSE o_typ_cur;
Mais comme le curseur est un paramètre OUT, je suppose que le but est de faire le fetch ailleurs (autre procédure ou prog externe client).

Donc pas possible de faire le fetch dans la procédure ...
__________________
Vincent Rogier.

Rubrique ORACLE : Accueil - Forum - Tutoriels - FAQ - Livres - Blog

Vous voulez contribuer à la rubrique Oracle ? Contactez la rubrique !

OCILIB (C Driver for Oracle)

Librairie C Open Source multi-plateformes pour accéder et manipuler des bases de données Oracle
Vincent Rogier est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/09/2008, 11h19   #5
Membre régulier
 
Avatar de anas.eh
 
Inscription : février 2007
Messages : 181
Détails du profil
Informations personnelles :
Âge : 27
Localisation : Maroc

Informations forums :
Inscription : février 2007
Messages : 181
Points : 90
Points : 90
Envoyer un message via MSN à anas.eh
D'accord, merci bcp
anas.eh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/09/2008, 21h44   #6
Membre éprouvé
 
Avatar de rvfranck
 
Étudiant
Inscription : novembre 2004
Messages : 739
Détails du profil
Informations personnelles :
Localisation : Canada

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : novembre 2004
Messages : 739
Points : 494
Points : 494
Citation:
Envoyé par vicenzo Voir le message
Mais comme le curseur est un paramètre OUT, je suppose que le but est de faire le fetch ailleurs (autre procédure ou prog externe client).

Donc pas possible de faire le fetch dans la procédure ...
Ouais t'as raison, j'avais pas fait attention à ça
__________________
"Celui qui reconnaît consciemment ses limites est le plus proche de la perfection." Johann Wolfgang
rvfranck est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h20.


 
 
 
 
Partenaires

Hébergement Web