Error al usar SUM, COUNT,... en un record

From: Juanky Moral <juanky(dot)moral(at)gmail(dot)com>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Error al usar SUM, COUNT,... en un record
Date: 2004-11-17 12:48:31
Message-ID: 463a53a404111704489f0d175@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Hola este es mi primer mensaje a la lista y esta mi primera pregunta:

He creado una función plpgsql que devuelve un RECORD.
Cuando llamo la función sale este error:

ERROR: Query-specified return tuple and actual function return tuple
do not match

Si no utilizo las funciones agregadas SUM y COUNT en la query, la
función se ejecuta sin problemas.
¿Alguien sabe qué está pasando? (Uso Postgresql 7.3.2)

Este es el procedimiento (la query está simplificada para usar sólo un
parámetro):
CREATE OR REPLACE FUNCTION consumo_cliente (varchar,int,int) RETURNS RECORD AS '
DECLARE
v_cif ALIAS FOR $1;
v_anyo ALIAS FOR $2;
v_mes ALIAS FOR $3;
v_fila RECORD;
BEGIN
SELECT INTO v_fila sum(horas) as horas, count(*) as avisos
FROM asistencia
GROUP BY cif HAVING cif=v_cif;
RETURN v_fila;
END;
'language 'plpgsql';

La tabla asistencia tiene esta estructura:
cif | character varying(9)
fecha | timestamp without time zone
horas | integer

La llamada a la función la hago así:
prueba=# select * from consumo_cliente('1',2003,1) as (horas integer,
avisos integer);

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alejandro D. Burne 2004-11-17 13:01:27 Re: error, urgente
Previous Message Alvaro Herrera 2004-11-17 12:27:51 Re: Duda sobre conexion a Postgres