Précédent   Forum des professionnels en informatique > Bases de données > PostgreSQL
PostgreSQL Forum PostgreSQL. Avant de poster -> F.A.Q PostGreSQL Tutoriels PostGreSQL
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 22/08/2011, 16h46   #1
Membre habitué
 
Avatar de archer
 
kim archer
Inscription : mai 2007
Messages : 332
Détails du profil
Informations personnelles :
Nom : kim archer

Informations forums :
Inscription : mai 2007
Messages : 332
Points : 125
Points : 125
Par défaut combiner "Cursor" et "WITH RECURSIVE" dans une procédure stockée

Bonjour,

Je suis entrain d'écrire une procédure stockée qui doit tout d'abord lancer une requête hiérarchique sur une table puis faire des traitements. Pour ce faire, j'ai utilisé WITH RECURSIVE en créant une nouvelle table "tree", maintenant j'ai besoin de créer un curseur qui va lire le contenu de cette table pour la parcourir puis la traiter.
Le problème c'est au niveau de la déclaration. Si je mets
Code :
1
2
3
4
DECLARE
curs refcursor;
WITH RECURSIVE tree(.....)
OPEN curs FOR SELECT ... FROM tree;
il ne l'accepte pas.
Y a-t-il d'autres alternatives qui me permettent le parcours en avant et en arrière de la table tree?
Merci d'avance.
__________________
rien pour l'instant
archer est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2011, 19h08   #2
Membre Expert
 
Avatar de iberserk
 
Homme Bruno IGNACE
Architecte de base de données
Inscription : novembre 2004
Messages : 1 299
Détails du profil
Informations personnelles :
Nom : Homme Bruno IGNACE
Âge : 30
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Architecte de base de données
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : novembre 2004
Messages : 1 299
Points : 2 282
Points : 2 282
Envoyer un message via MSN à iberserk
Qu'entendez vous par traiter?

Pourquoi utiliser un curseur qui est procédurale et contre-performant à souhait?
__________________
Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir.
iberserk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2011, 23h22   #3
Modérateur
 
Inscription : octobre 2008
Messages : 1 508
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : octobre 2008
Messages : 1 508
Points : 2 040
Points : 2 040
Le WITH fait partie intégrante de la requête, il faut écrire:
Code :
OPEN curs FOR WITH... SELECT ... FROM tree;
estofilo est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h47.


 
 
 
 
Partenaires

Hébergement Web