|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||||||
|
Invité de passage
![]() Inscription : décembre 2011 Messages : 2 ![]() |
Bonsoir,
j'aimerais savoir comment faire pour afficher le résultat d'une requête en utilisant une fonction pgsql. Par exemple, j'ai une table : Code :
Code :
Mais, j'aimerais faire la même chose avec une fonction. C'est-à-dire quelque chose du genre : Code :
Code :
Merci. |
||||||||
|
|
00
|
|
|
#2 |
|
Expert Confirmé
![]() Inscription : septembre 2006 Messages : 2 291 ![]() |
Dans n'importe quel langage informatique, si vous voulez afficher le résultat d'une fonction, il faut d'abord écrire une fonction et non une procédure :
il faut retourner un "objet" d'un type reconnu par le langage et non "rien" : "void" en l'occurrence. En PL/pgSQL, pour retourner des objets structurés ("records") il faut donc déclarer la fonction comme retournant un type structuré (retournant un seul enregistrement) ou un ensemble de record (SET OF …). Le type structuré est soit le rowtype d'une table ou d'une vue soit un type créé pour la circonstance. |
|
|
00
|
|
|
#3 | ||
|
Membre Expert
![]() Inscription : mars 2005 Messages : 577 ![]() |
Tu peux également utiliser le mot clé "OUT" pour déclarer des paramètres de sortie et éviter ainsi de définir une nouvelle vue ou d'être lié à une table:
http://www.postgresql.org/docs/9.1/s...ION-PARAMETERS
__________________
Copier c'est copier; voler c'est vendre un CD une vingtaine d'euros! Code C :
|
||
|
|
00
|
|
|
#4 | ||
![]() ![]() ![]() Cédric DuprezInscription : avril 2002 Messages : 3 823 ![]() |
Bonjour,
Depuis PostgreSQL 8.4, il est également possible de retourner un type TABLE. Voici un exemple tiré de la documentation : Code :
__________________
Rédacteur / Modérateur SGBD Mes tutoriels et la FAQ MySQL ---------------------------------------------------- Pensez aux balises code et au tag Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça
|
||
|
|
00
|
|
|
#5 | ||||||
|
Invité de passage
![]() Inscription : décembre 2011 Messages : 2 ![]() |
Merci à tous pour vos réponses, j'ai plutôt cherché dans la voie de RECORD et SETOF RECORD, j'ai pu trouver une solution qui est celle-ci :
Code :
Code :
Code :
|
||||||
|
|
00
|
|
|
#6 |
|
Membre habitué
![]() Inscription : juillet 2006 Messages : 544 ![]() |
ces reponses sont precieuses je les indexe
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com