comportamiento extraño

From: "eduardo cabrera" <ecabreraf(at)gmail(dot)com>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: comportamiento extraño
Date: 2007-07-22 07:29:24
Message-ID: 600b62d60707220029u4d3763fdme80e27421e2a1b89@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

tengo la siguiente funcion

CREATE FUNCTION stock_docu ( BIGINT, BIGINT, TIMESTAMP, TIMESTAMP) RETURNS
NUMERIC AS '
DECLARE
articulo_id ALIAS FOR $1;
sucursal_id ALIAS FOR $2;
fecha_i ALIAS FOR $3;
fecha_t ALIAS FOR $4;
foo NUMERIC = 0;
parcial NUMERIC;
tabla guiadespacho_detalle%ROWTYPE;
BEGIN
parcial := 0;
FOR tabla IN
SELECT idguiadespacho, cantidad, idarticulo
FROM guiadespacho_detalle
WHERE idarticulo = articulo_id
AND idguiadespacho IN ( SELECT id
FROM guiadespacho
WHERE numguiadespacho != ''''
AND numguiadespacho is not null
AND estado = ''t''
AND idsucursal = sucursal_id
)
LOOP
RAISE NOTICE '' - c% | p% | s% %'', tabla.cantidad, parcial, foo,
tabla.idarticulo;
foo := foo + 1;
parcial := CAST(parcial AS NUMERIC) + CAST(tabla.idarticulo AS NUMERIC);
RAISE NOTICE '' - c% | p% | s%'', tabla.cantidad, parcial, foo;
RAISE NOTICE '' - - -'';
END LOOP;
return foo;
END;
' LANGUAGE 'plpgsql';

eso esta bien y todo lo RARO es que la cantidad queda almacenada en
tabla.idarticulo y si cambio el orden o quito argumentos en el "SELECT
idguiadespacho, cantidad, idarticulo" se comporta distinto (nunca como
quiero)

la version de postgres es 8.1.9 en debian etch

¿a alguien le ha pasado algo similar? o ¿esta mal la funcion?

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Agustin Casiva 2007-07-22 15:23:05 Re: ajuste de postgres
Previous Message Alvaro Herrera 2007-07-22 05:16:29 Re: inheritance in postgresql