PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

La fonction Postgresql ne renvoie pas de table lors de la sélection

Vous devez avoir une destination pour les sélections et la fonction doit renvoyer une valeur. Juste une instruction SELECT ne fait ni l'un ni l'autre. La seule utilisation d'une telle instruction, en général, est de tester les autorisations ou d'exécuter un déclencheur, pour lequel les résultats ne sont pas utilisés. Vous devrez utiliser l'une des familles d'instructions RETURN pour obtenir les valeurs de la fonction.

RETURN QUERY( SELECT * from "SIS_campus" );

Cela ajoutera les résultats de cette requête aux résultats renvoyés par la fonction et devrait faire ce que vous recherchez, puisque vous ne pouvez renvoyer que 0 ou 1 résultats. Vous devrez peut-être également ajouter un simple RETURN à la toute fin de la fonction (malgré les docs, je n'ai pas tout à fait compris quand c'est ou non nécessaire, moi-même).