La fonction plpgsql retourne la table (..)
Je vais essayer d'obtenir cette fonction plpgsql de travail:
CREATE OR REPLACE FUNCTION outofdate(actualdate varchar)
RETURNS TABLE(designacion varchar(255),timebeingrotten varchar(255))
AS $BODY$
SELECT designacao, actualdate - prazo
FROM alimento
WHERE prazo < actualdate;
$BODY$
LANGUAGE 'plpgsql' volatile;
SELECT *
From outofdate('12/12/2012');
Il continue de me donner une erreur à la ligne 2 - table ..
D'ERREUR: erreur de syntaxe sur ou près de
LE "TABLEAU" (LIGNE 2): RETOURNE
TABLEAU(designacion
varchar(255),timebeingrotten varch...
^*** Erreur ***
D'ERREUR: erreur de syntaxe sur ou près de "TABLE"
État SQL: 42601 Caractère: 67
source d'informationauteur David Dias
Vous devez vous connecter pour publier un commentaire.
Je ne suis pas sûr, mais peut-être que vous utilisez une ancienne version de la page sans le soutien de
RETURNS TABLE
de la syntaxe. Problème suivant dans votre exemple est mauvais syntaxe de PL/pgSQL langue - lisez le manuel pour la syntaxe de chaque fonction doit contenir un bloc avecBEGIN ... END
. Les enregistrements peuvent être retournés parRETURN QUERY
déclaration. Jetez un oeil à cette tutoriel.Appel: