Précédent   Forum des professionnels en informatique > Bases de données > Autres SGBD > InterBase
InterBase Forum d'entraide sur le SGBD InterBase de Codegear. Avant de poster -> F.A.Q Interbase, Tutoriels
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 05/10/2004, 14h11   #1
Invité de passage
 
Inscription : octobre 2004
Messages : 2
Détails du profil
Informations forums :
Inscription : octobre 2004
Messages : 2
Points : 1
Points : 1
Par défaut [Interbase 6][CURSOR] Déclaration de curseur

Bonjour,
lorsque j'essai d'utiliser un curseur à l'intérieur d'une procédure stockée avec Interbase 6.01, j'ai une erreur de type "Unknown Token".
Voilà à quoi ressemble mon code :
CREATE ma_procedure (arg INTEGER) AS
DECLARE mon_curseur CURSOR FOR SELECT .... ;
DECLARE VARIABLE v INTEGER;
....
BEGIN
OPEN mon_curseur;
FETCH ....
....
CLOSE mon_curseur;
END
L'erreur se produit sur l'élément "mon_curseur", pourtant cela correspond à syntaxe présente dans l'aide d'IBConsole.
Du coup, j'ai utilisé une instruction FOR qui marche parfaitement, mais j'aimerais savoir pourquoi mon curseur ne fonctionne pas.
Quelqu'un a t il une idée?
nico82 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/10/2004, 15h33   #2
Membre Expert
 
Avatar de Barbibulle
 
Frédéric
Inscription : octobre 2002
Messages : 1 722
Détails du profil
Informations personnelles :
Nom : Frédéric
Âge : 42

Informations forums :
Inscription : octobre 2002
Messages : 1 722
Points : 2 025
Points : 2 025
Par défaut Re: [Interbase 6][CURSOR] Déclaration de curseur

Citation:
Envoyé par nico82
L'erreur se produit sur l'élément "mon_curseur", pourtant cela correspond à syntaxe présente dans l'aide d'IBConsole.
Du coup, j'ai utilisé une instruction FOR qui marche parfaitement, mais j'aimerais savoir pourquoi mon curseur ne fonctionne pas.
Quelqu'un a t il une idée?
Oui j'ai mon idée sur la question : il n'y a pas curseurs dans les procedures stoquées, c'est pour celà que ça ne marche pas.

La syntaxe CURSOR auquel vous faites allusion est utilisable dans les langages hotes qui necessite une précompilation des ordres SQL comme le C par exemple. cf la doc Embedded SQL guide (EmbedSQL.pdf). Les ordres à précompiler sont précédés de EXEC SQL.
Cette méthode est probablement la plus vielle et la plus fastidieuse à mettre en oeuvre. Les composants actuels et moyens de connexion ont évolués et sont plus facile d'utilisation et plus performant. Cette méthode est donc à réserver si vous n'avez pas le choix ou dans le cadre de la maintenance d'un programme exitant utilisant déjà ce mode d'interrogation d'interbase.
Barbibulle est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/10/2004, 15h45   #3
Invité de passage
 
Inscription : octobre 2004
Messages : 2
Détails du profil
Informations forums :
Inscription : octobre 2004
Messages : 2
Points : 1
Points : 1
Merci pour l'information.
Et désolé de vous avoir derranger pour ce type de problème
nico82 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 11h31.


 
 
 
 
Partenaires

Hébergement Web