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

Requêtes PostgreSQL Discussion :

Erreur exécution code SQL


Sujet :

Requêtes PostgreSQL

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2006
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 13
    Points : 11
    Points
    11
    Par défaut Erreur exécution code SQL
    Bonjour,

    Je suis débutant sous POSTGRES.

    Mon code SQL pour POSTGRESSQL me renvoie une erreur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    $$
    DECLARE
     
      Err_Exec         numeric;                -- Erreur d'execution.
     
     
    BEGIN
     
     
      Err_Exec     := 0;
     
    END;
    $$ LANGUAGE plpgsql;
    Ci-dessous, le message d'erreur :
    ERROR: syntax error at or near "$$

    LINE 1: $$
    ^


    Je pense que c'est une erreur de débutant.
    Avez-vous une idée ?

    D'avance merci.

  2. #2
    Membre expert
    Avatar de alassanediakite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2006
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Mali

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2006
    Messages : 1 599
    Points : 3 590
    Points
    3 590
    Billets dans le blog
    8
    Par défaut
    Salut
    Le dernier END (juste avant $$) ne prend pas de point-virgule.
    doit être remplacé par @+
    Le monde est trop bien programmé pour être l’œuvre du hasard…
    Mon produit pour la gestion d'école: www.logicoles.com

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2006
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 13
    Points : 11
    Points
    11
    Par défaut Erreur execution code SQL
    Merci de votre retour.

    Le retrait du point virgule ne résoud pas l'erreur.


    :13: ERROR: syntax error at or near "$$


    En fin d'exécution, psql indique sur la console :

    END
    $$"
    LINE 1: $$
    ^

    Cela semble faire référence au symbole $$ de la 1ere ligne du script.

    Avez-vous une explication ?

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Je pense que le code devrait ressembler à cela

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    CREATE FUNCTION Err_Exec() RETURNS numeric AS $$
    DECLARE
     
      Err_Exec         numeric;
     
     
    BEGIN
     
     
      Err_Exec:= 0;
     
    END;
    $$ LANGUAGE plpgsql;
    Mais sans la création de fonction, difficile de voir l'erreur.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2006
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 13
    Points : 11
    Points
    11
    Par défaut
    Merci de votre réponse.

    C'est la conclusion que j'ai pu tirer.

    Il semble que l'on ne puisse pas créer un bloc de code (DECLARE ... BEGIN .... END; en dehors d'une fonction ou procédure, contrairement à ce qui était possible en PL/SQL sous Oracle.

    Ce fait ne ressort pas dans la documentation de POSTGRES, à moins d'une subtilité que je ne demande qu'à connaître.

    Toute bonne réponse sera appréciée.

  6. #6
    Membre émérite
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    1 874
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 874
    Points : 2 890
    Points
    2 890
    Par défaut
    Il faut faire un bloc avec DO:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    DO $$ 
    DECLARE
       Err_Exec         numeric;   
     BEGIN
        raise info 'hello world';
       Err_Exec     := 0;
     END;
    $$ LANGUAGE plpgsql;

  7. #7
    Membre expert
    Avatar de alassanediakite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2006
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Mali

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2006
    Messages : 1 599
    Points : 3 590
    Points
    3 590
    Billets dans le blog
    8
    Par défaut
    Salut
    Je viens d'apprendre que le ne pose pas de problème
    @+
    Le monde est trop bien programmé pour être l’œuvre du hasard…
    Mon produit pour la gestion d'école: www.logicoles.com

  8. #8
    Invité
    Invité(e)
    Par défaut
    Bah non, le code que l'ai donné plus faut fonctionne, je ne dis pas que c'est ce que vous voulez faire mais il est exécutable.

  9. #9
    Membre expert
    Avatar de alassanediakite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2006
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Mali

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2006
    Messages : 1 599
    Points : 3 590
    Points
    3 590
    Billets dans le blog
    8
    Par défaut
    Salut
    JeanKalude, ma dernière intervention n'a rien d'ironie. Je m'excuse si tu l'as compris ainsi.
    Réellement, je croyais que "END;$$" posait problème. En fait il n'a n'est rien et je l'ai vérifié.
    @+
    Le monde est trop bien programmé pour être l’œuvre du hasard…
    Mon produit pour la gestion d'école: www.logicoles.com

  10. #10
    Invité
    Invité(e)
    Par défaut
    Bonsoir,

    je ne l'avais pas mal pris, toutes mes excuses si j'ai laissé penser cela. Mais le quiproquo m'a amusé je le confesse.

    Bonne soirée et désolé pour le temps de réponse

Discussions similaires

  1. Exécution code SQL sous SQL-Server
    Par LaPanic dans le forum Développement
    Réponses: 5
    Dernier message: 26/03/2012, 21h13
  2. Erreur exécution job SQL Server 2000
    Par mboubidi dans le forum Administration
    Réponses: 1
    Dernier message: 20/01/2012, 06h59
  3. Réponses: 1
    Dernier message: 12/11/2011, 12h19
  4. Exécution code SQL
    Par DomIII dans le forum Hibernate
    Réponses: 1
    Dernier message: 02/01/2011, 21h15
  5. [SSIS] [2K8] Erreur exécution Execute SQL Task
    Par gassisprog dans le forum SSIS
    Réponses: 0
    Dernier message: 27/05/2010, 13h00

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