El 03/05/2012 10:17, Grover Navia escribió:
Hola compañeros

Estoy trabajando con Postgresql 8.4 bajo linux ( CentOS 6.2 ); me sale un mensaje de error de esta 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;


El error dice:
ERROR:  la fila «kardex_item_tabla» no tiene un campo llamado "c_ingreso"
CONTEXT: compilación de la función PL/pgSQL "suma_informe_mensual" cerca de la línea 9

Cual es el problema y porq no me acepta usar este tipo de alias o como se deria urar los alias en estos casos ...?,
de ante mano les doy las gracias por sus comentarios y por su tiempo

Saludos
Grover Navia






<http://www.uci.cu/>
Es que estas declarando un variable del tipo renglon de almacenes.alm_kardex y en realidad esa tabla no tiene ese campo ,declara esa variable de tipo record , que es ajustable a cualquier valor .
saludos


10mo. ANIVERSARIO DE LA CREACION DE LA UNIVERSIDAD DE LAS CIENCIAS 
INFORMATICAS...
CONECTADOS AL FUTURO, CONECTADOS A LA REVOLUCION

http://www.uci.cu
http://www.facebook.com/universidad.uci
http://www.flickr.com/photos/universidad_uci

Responder a