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

From: Diego Gil <diego(at)adminsa(dot)com>
To: Juanky Moral <juanky(dot)moral(at)gmail(dot)com>
Cc: PostgreSQL Spanish <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Error al usar SUM, COUNT,... en un record
Date: 2004-11-17 13:08:38
Message-ID: 1100696918.3246.5.camel@roadwarrior.adminsa.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Pareciera que los tipos de retorno no coinciden. Sum() y Count()
retornan bigint, según el manual.

Que pasa si haces el query sin "as (horas integer, avisos integer);"

Diego.

El mié, 17-11-2004 a las 13:48 +0100, Juanky Moral escribió:
> 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);
>
> ---------------------------(end of broadcast)---------------------------
> TIP 2: puedes desuscribirte de todas las listas simultáneamente
> (envíe "unregister SuDirecciónDeCorreo" a majordomo(at)postgresql(dot)org)
>
>

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Oscar Bogarin Evolution 2004-11-17 13:51:52 TIP 7: no olvides aumentar la configuración del "free space map"
Previous Message Alejandro D. Burne 2004-11-17 13:01:27 Re: error, urgente