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

PostgreSQL Discussion :

[débutante]PL/pgSQL


Sujet :

PostgreSQL

  1. #1
    Membre du Club Avatar de hamham
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 80
    Points : 47
    Points
    47
    Par défaut [débutante]PL/pgSQL
    Bonjour à tous,

    comme je l'ai dit précédement j' ai actuellement pour mission de migrer des procédures stockées PL/SQL en PL/pgSQL et je me heurte à certains problèmes.

    dans un premier temps j'ai décomposé la procédure en différentes fonctions que j'éxécute.
    Cependant je n'arrive pas à me servir du GET DIAGNOSTICS, en effet je souhaite connaitre le nombre de lignes qui ont été retournées par mon select grâce à cette commande.

    J'ai donc mis dans une fonction :
    select ... ;
    get diagnostics res = row_count; (en ayant bien sur déclaré res en integer)
    raise notice '%',res;

    la requête est éxécutée mais ne me donne pas de résultat!

    je cherche donc quelques explications
    merci
    HamHam!!!

  2. #2
    Expert éminent
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Points : 7 103
    Points
    7 103
    Par défaut
    Bonjour,

    le niveau de notification NOTICE ne fera pas forcément remonter le message jusqu'à l'application cliente, cela dépend de la façon dont est paramétré Postgres.

    Si ce message a uniquement le rôle de trace pour du débogage, utilise plutôt RAISE EXCEPTION qui interrompra la procédure (et fera un rollback de la transaction), et si c'est pour faire renvoyer par la procédure stockée une valeur, ce n'est pas du tout la bonne manière, il est nettement préférable de faire retourner cette valeur par la procédure avec RETURN.
    FAQ XML
    ------------
    « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
    Giacomo Leopardi

  3. #3
    Membre du Club Avatar de hamham
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 80
    Points : 47
    Points
    47
    Par défaut
    Merci,
    à la base je pensais que le message allait être montré au client mais je vais juste le tracer.

    Merci pour ta réponse
    HamHam!!!

Discussions similaires

  1. Réponses: 11
    Dernier message: 20/07/2010, 17h45
  2. [Débutant][PgSql] Appel de Procédures InOut
    Par GyLes dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 20/06/2008, 17h14
  3. [Débutante pgsql] Créer une invite pour une requête SQL
    Par Darcynette dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 04/06/2008, 14h28
  4. Réponses: 3
    Dernier message: 07/05/2002, 16h06
  5. [HyperFile] 2 questions de débutant
    Par khan dans le forum HyperFileSQL
    Réponses: 2
    Dernier message: 29/04/2002, 23h18

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