From: | Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org> |
---|---|
To: | Sergio Villalba Moreno <svillalba(at)cherrytel(dot)com> |
Cc: | pgsql-es-ayuda <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: RE: [pgsql-es-ayuda] Función SQL/PL en versión 7.4 |
Date: | 2011-04-20 16:12:27 |
Message-ID: | 1303315585-sup-15@alvh.no-ip.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Excerpts from Sergio Villalba Moreno's message of jue abr 14 08:43:25 -0300 2011:
> Para ir probando (es un ejemplo, este procedimiento es incompleto y poco
> funcional) he creado esta función SQL/PL:
El primer error es que te faltan los ; al final de cada declaración de
variable:
> CREATE FUNCTION test(text, text, text, integer, integer) RETURNS text AS '
> DECLARE
> primeroMes ALIAS FOR $1; -- 01/05/2011
> finalMes ALIAS FOR $2; -- 01/06/2011
> mes ALIAS FOR $3; -- 5
> cobroMensual ALIAS FOR $4; -- 2
> cobroAnual ALIAS FOR $5; -- 3
El segundo es que tienes SELECT SELECT.
> BEGIN
>
> SELECT SELECT INTO f_forma_pago, f_cliente, f_cif, f_contrato, f_importe
Y esto:
> RETURN f_forma_pago || '':'' || f_cliente || '':'' || f_cif || '':'' ||
> f_contrato || '':'' || f_importe;
no sé qué diablos es. Creo que deberías declarar la función con
parámetros OUT para cada valor que quieres retornar (debes asignar el
valor que quieres retornar a las variables OUT, y luego darle RETURN o
RETURN NEXT sin parámetros). Si quieres retornar más de un registro,
usa RETURNS SETOF RECORD en el encabezado de declaración de la función y
RETURN NEXT.
> Errores no solucionados:
>
> ERROR: syntax error en o cerca de "finalMes"
> CONTEXT: compile of PL/pgSQL function "test" near line 6
Esto es por el ; que falta en el bloque DECLARE.
--
Álvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
From | Date | Subject | |
---|---|---|---|
Next Message | Jaime Rivera | 2011-04-20 16:14:17 | Re: [pgsql-es-ayuda] Problema al compilar librería compartida |
Previous Message | Miguel Angel Hernandez Moreno | 2011-04-20 16:10:35 | Re: [pgsql-es-ayuda] Problema al compilar librería compartida |