Re: Ayuda con funcion

From: "Ing (dot) Marcos Luís Ortíz Valmaseda" <mlortiz(at)uci(dot)cu>
To: José Fermín Francisco Ferreras <josefermin54(at)hotmail(dot)com>
Cc: grover8navia(at)yahoo(dot)es, Lista PostgreSQL <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Ayuda con funcion
Date: 2010-03-04 03:48:19
Message-ID: 4B8F2D83.4020801@uci.cu
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

José Fermín Francisco Ferreras escribió:
>
>
> ing. José Fermín Francisco Ferreras
> San Francisco de Macorís, Rep. Dom.
>
>
>
>
> ------------------------------------------------------------------------
> Date: Thu, 4 Mar 2010 00:03:38 +0000
> From: grover8navia(at)yahoo(dot)es
> Subject: [pgsql-es-ayuda] Ayuda con funcion
> To: pgsql-es-ayuda(at)postgresql(dot)org
>
> Hola Listeros
>
> Tengo un problema con uan funcion que realice, me sale el siguiente
> error al ejecutar:
>
> Error while executing the query;
> ERROR: row "kardex_item_tabla" has no field "c_ingreso"
>
> Por favor si alguien puede ayudarme con esto, es probable que no este
> manejando bien las consultas. Esta es la funcion :
>
>
> DECLARE
> kardex_item_tabla almacenes.alm_kardex%ROWTYPE;
> BEGIN
> SELECT SUM(cant_entrada) AS c_ingreso, SUM(cant_salida) AS c_salida,
> SUM(importe_entrada) AS i_ingreso, SUM(importe_salida) AS i_salida
> INTO kardex_item_tabla
> FROM almacenes.alm_kardex
> WHERE gestion = New.gestion AND mes = New.mes AND cod_prod = New.cod_prod
> GROUP BY gestion, mes, cod_prod;
> IF FOUND THEN
> New.sum_cant_entrada = kardex_item_tabla.c_ingreso;
> New.sum_cant_salida = kardex_item_tabla.c_salida;
> New.sum_importe_entrada = kardex_item_tabla.i_ingreso;
> New.sum_importe_salida = kardex_item_tabla.i_salida;
> END IF;
> RETURN NEW;
> END;
>
>
>
> De antemano les doy las gracias por su ayuda.
>
> Saludos
> Grover Navia
>
> *Estas Seguro q tienes el campo llamado c_ingreso en tu tabla??*
>
> ------------------------------------------------------------------------
Por lo que veo c_ingreso es un casting a SUM(cant_entrada), no
constituye un atributo de esa tabla, y te esta dando ese error porque lo
estas llamando como tal
Prueba esto:
SELECT SUM(cant_entrada) AS c_ingreso, SUM(cant_salida) AS c_salida,
SUM(importe_entrada) AS i_ingreso, SUM(importe_salida) AS i_salida INTO
kardex_item_tabla
FROM almacenes.alm_kardex
WHERE gestion = New.gestion AND mes = New.mes AND cod_prod = New.cod_prod
GROUP BY gestion, mes, cod_prod;
IF FOUND THEN
New.sum_cant_entrada = c_ingreso;
New.sum_cant_salida = c_salida;
New.sum_importe_entrada = i_ingreso;
New.sum_importe_salida = i_salida;
END IF;
RETURN NEW;
END;

Saludos

--
--------------------------------------------------------
-- Ing. Marcos Luís Ortíz Valmaseda --
-- FreeBSD Fan/User --
-- http://www.freebsd.org/es --
-- Linux User # 418229 --
-- Database Architect/Administrator --
-- PostgreSQL RDBMS --
-- http://www.postgresql.org --
-- http://planetpostgresql.org --
-- http://www.postgresql-es.org --
--------------------------------------------------------
-- Data WareHouse -- Business Intelligence Apprentice --
-- http://www.tdwi.org --
--------------------------------------------------------
-- Ruby on Rails Fan/Developer --
-- http://rubyonrails.org --
--------------------------------------------------------

Comunidad Técnica Cubana de PostgreSQL
http://postgresql.uci.cu

Centro de Gestión de Datos (DATEC)
Contacto:
Correo: centalad(at)uci(dot)cu
Telf: +53 07-837-3737
+53 07-837-3714
Universidad de las Ciencias Informáticas
http://www.uci.cu

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Jaime Casanova 2010-03-04 05:17:58 Re: problema AddGeometryColumn
Previous Message José Fermín Francisco Ferreras 2010-03-04 01:45:09 RE: Ayuda con funcion