Je veux écrire une fonction avec pl/pgsql
. J'utilise PostgresEnterprise Manager v3 et j'utilise le shell pour créer une fonction, mais dans le shell, je dois définir le type de retour. Si je ne définit pas le type de retour, je ne peux pas créer de fonction.
Comment créer une fonction sans résultat de retour, c'est-à-dire une fonction qui crée une nouvelle table?
#variable_conflict
directive n'a rien à voir avec le reste de la réponse. C'est juste une partie d'une fonction d'exemple; le seul élément important est leRETURNS void
. Aussi, cool, je ne savais pas que PL / PgSQL avait des pragmas.#variable_conflict
: dba.stackexchange.com/a/105828/3684SELECT * FROM stamp_user(...)
, alors j'obtienserror: query has no destination for result data
et si j'écris juste,stamp_user(...)
j'obtienssyntax error
.Les fonctions doivent toujours renvoyer quelque chose, bien que vous puissiez utiliser des procédures comme
et commencez avec une fonction normale comme
mais si vous voulez toujours faire une fonction, ajoutez simplement void après les retours .
la source