RE:Ayuda con funcion

From: Grover Navia <grover8navia(at)yahoo(dot)es>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: RE:Ayuda con funcion
Date: 2010-03-04 15:14:10
Message-ID: 787977.15862.qm@web24503.mail.ird.yahoo.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Gracias por sus respuestas

Intenté con esta sugerencia de Marcos, pero me sale el siguiente mensaje:

Error while executing the query;
ERROR: la sintaxis de entrada no es valida para tipo date: <<243.5130>>

Al parecer un problema en el orden de lo campos de mi tabla que es la siguiente:

REATE TABLE almacenes.alm_kardex
(
  nro_operacion serial NOT NULL,
  cod_prod int8 NOT NULL,
  fecha date,
  nro_cta_ingreso varchar(50),
  nro_cta_salida varchar(50),
  precio_unit numeric(7,4),
  cant_entrada int4,
  cant_salida int4,
  cant_saldo int4,
  importe_entrada numeric(15,4),
  importe_salida numeric(15,4),
  importe_saldo numeric(15,4),
  :
  :
  sum_cant_entrada int4,
  sum_cant_salida int4,
  sum_importe_entrada numeric(15,4),
  sum_importe_salida numeric(15,4)
)

Por favor si alguien puede sugerirme con alguna solución a este problema.

de ante mano como siempre les doy las gracias por su tiempo y predisposion.

Saludos
Grover Navia

--- El jue, 4/3/10, "Ing . Marcos Luís Ortíz Valmaseda" <mlortiz(at)uci(dot)cu> escribió:

De: "Ing . Marcos Luís Ortíz Valmaseda" <mlortiz(at)uci(dot)cu>
Asunto: Re: [pgsql-es-ayuda] Ayuda con funcion
Para: "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>
Fecha: jueves, 4 de marzo, 2010 04:48

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

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Eduardo Alvear 2010-03-04 17:57:13 Transacciones por minuto
Previous Message Ramón Alberto Bruening González 2010-03-04 14:41:48 RE: consulta resta fechas