Re: RE: [pgsql-es-ayuda] Función SQL/PL en versión 7.4

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>

In response to

Browse pgsql-es-ayuda by date

  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