IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SQL Firebird Discussion :

[FB1.5]Création dynamique d'une procédure stockée ?


Sujet :

SQL Firebird

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mai 2003
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Mai 2003
    Messages : 147
    Points : 109
    Points
    109
    Par défaut [FB1.5]Création dynamique d'une procédure stockée ?
    Bonjour,

    Lorsque j'execute cette requete
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    CREATE PROCEDURE P_RECAP (ID INTEGER)
    RETURNS ( RETOUR VARCHAR(50) )
    AS
    BEGIN
      SELECT DISTINCT MON_CHAMP FROM MA_TABLE
      WHERE ID = :ID
      INTO :RETOUR;
      SUSPEND;
    END;
    Sous IBExpert aucun probleme, mais quand je l'execute dans mon programme (grace au comosant TIBSQL), la il y a l'erreur suivante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SQL Error Code = -104
    Token unknown -line 1, char 195
    ?'
    Cela peut il venir du :ID. Comment dois je faire ? Créer un Script ?...

    Merci.

  2. #2
    Membre expert
    Avatar de Barbibulle
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    2 048
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 2 048
    Points : 3 342
    Points
    3 342
    Par défaut
    A mon avis c'est un probleme de Set Term.

    Il essaye d'executer la requete au premier ; rencontré (et donc celui du into :return et donc la PS est incomplete.

    Essayez de definir le caractère de fin.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Set term !!;
    CREATE PROCEDURE P_RECAP (ID INTEGER) 
    RETURNS ( RETOUR VARCHAR(50) ) 
    AS 
    BEGIN 
      SELECT DISTINCT MON_CHAMP FROM MA_TABLE 
      WHERE ID = :ID 
      INTO :RETOUR; 
      SUSPEND; 
    END!!
    Set term ;!!
    Je ne sais pas si ISQL accepte d'executer plusieurs ordres à la suite.

  3. #3
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mai 2003
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Mai 2003
    Messages : 147
    Points : 109
    Points
    109
    Par défaut
    Le TIBSQL n'accepte pas d'executer plusieurs ordres à la suite. J'essaye avec un TIBScript.

  4. #4
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mai 2003
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Mai 2003
    Messages : 147
    Points : 109
    Points
    109
    Par défaut
    Ok avec le TIBScript cela fonctionne correctement.
    Merci.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 8
    Dernier message: 16/09/2011, 19h35
  2. création dynamique d'une procedure stockée
    Par Ramajb dans le forum Bases de données
    Réponses: 12
    Dernier message: 07/04/2010, 10h46
  3. Réponses: 5
    Dernier message: 18/06/2007, 18h00
  4. SQL dynamique dans une procédure stockée
    Par Amnesiak dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 15/07/2005, 15h17
  5. Création d'un Job déclenchant une Procédure stockée
    Par Drooxy dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 14/04/2004, 17h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo