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

DB2 Discussion :

Ecrire une procédure stockée depuis le control center


Sujet :

DB2

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2006
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 24
    Points : 16
    Points
    16
    Par défaut
    Je suis debutant en db2, j'essaie d'ecrire une procedure stockée sous l'éditeur du control center :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    create procedure test(in id int)
    dynamic result sets 1
    language sql
    begin
    declare rs as cursor with return for
    select * from act where actno=id;
    open rs;
    end
    erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
     
    DB21034E La commande a été traitée comme une instruction SQL car il ne s'agit 
    pas d'une commande valide pour l'interpréteur de commandes.  Le message SQL 
    suivant a été renvoyé lors de son traitement :
    SQL0104N Une marque inattendue "END-OF-STATEMENT" figure à la suite de "m act 
    where actno=id".  Parmi  les marques attendues, on  trouve : 
    "<psm_semicolon>".  LINE NUMBER=6.  SQLSTATE=42601
     
    open rs
    DB21028E Le curseur "RS" n'a pas été déclaré.
     
    end
    DB21034E La commande a été traitée comme une instruction SQL car il ne s'agit 
    pas d'une commande valide pour l'interpréteur de commandes.  Le message SQL 
    suivant a été renvoyé lors de son traitement :
    SQL0104N Une marque inattendue "END-OF-STATEMENT" figure à la suite de "end".  
    Parmi  les marques attendues, on  trouve : "JOIN <joined_table>".  
    SQLSTATE=42601
     
    SQL0104N Une marque inattendue "END-OF-STATEMENT" figure à la suite de "end".  Parmi  les marques attendues, on  trouve : "JOIN <joined_table>                              ".
     
    Explication: 
     
    Une erreur de syntaxe dans l'instruction SQL ou dans la chaîne de
    commande d'entrée pour la procédure SYSPROC.ADMIN_CMD a été
    détectée à la marque suivant le texte "<texte>". La zone
    "<texte>" indique les 20 caractères de l'instruction SQL ou de la
    chaîne de commande d'entrée pour la procédure SYSPROC.ADMIN_CMD
    précédant la marque qui n'est pas valide. 
     
     En guise d'aide, une liste partielle de marques correctes est
    fournie dans la zone SQLERRM de la structure SQLCA sous la forme
    "<liste-marques>". Cette liste suppose que l'instruction est
    correcte jusqu'à ce stade. 
     
     L'instruction ne peut pas être traitée. 
     
    Réaction de l'utilisateur: 
     
    Examinez et corrigez l'instruction à proximité de la marque
    indiquée. 
     
     SQLCODE : -104 
     
     SQLSTATE : 42601
    Pourquoi?

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 298
    Points : 1 578
    Points
    1 578
    Par défaut Nouvelle question --> Nouveau fil.
    Pour répondre à ta question, fais un essai en remplaçant le

    declare rs AS cursor WITH RETURN FOR

    par

    DECLARE rs cursor WITH RETURN FOR

    c'est à dire en supprimant " AS ".

  3. #3
    Membre à l'essai
    Inscrit en
    Juin 2006
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 24
    Points : 16
    Points
    16
    Par défaut
    Toujour l'erreur...

Discussions similaires

  1. Réponses: 7
    Dernier message: 18/01/2008, 18h01
  2. Ecrire une procédure stockée
    Par franck SEFIC dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 30/11/2007, 15h17
  3. executée une procédure stockée depuis access 97
    Par sandmil dans le forum Access
    Réponses: 1
    Dernier message: 12/07/2007, 11h51
  4. Réponses: 4
    Dernier message: 26/04/2007, 09h03
  5. Créer une procédure stockée depuis Delphi
    Par blonde dans le forum Bases de données
    Réponses: 10
    Dernier message: 10/03/2006, 11h26

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