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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    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
    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 : 47
    Localisation : Mali

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2006
    Messages : 1 599
    Billets dans le blog
    8
    Par défaut
    Salut
    Le dernier END (juste avant $$) ne prend pas de point-virgule.
    doit être remplacé par @+

  3. #3
    Membre averti
    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
    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 averti
    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
    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 Expert
    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
    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;

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