Par rapport à ce que je sais sur Oracle Pl / SQL, je ne connais pas très bien les procédures stockées et PLPGSQL de PostgreSQL. À Oracle, il existe deux types d'appelables: P>
Je comprends que dans PLPGSQL, toutes les procédures stockées sont considérées comme des fonctions code> code>. À ma compréhension, cela signifie qu'ils peuvent (mais ne pas avoir à) retourner toujours une valeur. Maintenant, je vois sur le page de documentation , que je peux aussi Déclarez , une chose qui n'est pas possible dans Oracle s>. Mais je ne vois pas d'exemple ou d'une déclaration claire sur le fait de savoir si les paramètres STRY> OUT STRID> peuvent être combinés avec des valeurs de retour. Je ne vois pas non plus si les paramètres forts> sous forts> sont possibles. P>
Voici mes questions: h3>
3 Réponses :
... En fait, j'aurais dû rechercher un peu plus moi-même. La réponse n'est pas loin sur la page Documentations: p>
http://www.postgresql.org/docs/current/ statique / sql-createfuncer.html p>
IN et OUT sont essentiellement des alias pour la syntaxe plus ancienne.
Analday: P>
create or replace function test(in a int) returns record as as $$ select 1, 2 $$ language sql; ^ select * from test(1); ERROR: a column definition list is required for functions returning "record"
+1 pour l'explication très intéressante, merci! On dirait que les gens postgres ont fait des fonctions très faciles à utiliser et très utiles, aussi!
Si vous avez spécifié le paramètre, cela signifie une structure de votre résultat
par exemple. p> retournera 2 colonnes d'int. Dans Postgre Jusqu'à présent, je sais 2 moyen de le faire. P> 1 Retour Setof Refcursor et utilisez l'application pour la lire. P> raise notice 'my parameter = %', 11;
return query select * from mytable;