Précédent   Forum des professionnels en informatique > Bases de données > PostgreSQL
PostgreSQL Forum PostgreSQL. Avant de poster -> F.A.Q PostGreSQL Tutoriels PostGreSQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 18/04/2006, 14h00   #1
Membre à l'essai
 
Avatar de hamham
 
Inscription : avril 2006
Messages : 80
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 80
Points : 22
Points : 22
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 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/04/2006, 09h25   #2
Expert Confirmé Sénior
 
Avatar de GrandFather
 
Inscription : mai 2004
Messages : 4 490
Détails du profil
Informations personnelles :
Âge : 42

Informations forums :
Inscription : mai 2004
Messages : 4 490
Points : 5 049
Points : 5 049
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
GrandFather est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/04/2006, 12h24   #3
Membre à l'essai
 
Avatar de hamham
 
Inscription : avril 2006
Messages : 80
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 80
Points : 22
Points : 22
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 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h42.


 
 
 
 
Partenaires

Hébergement Web