Estimado Jaime,
Te agradezco por tu sugerencia, hare los cambios y probare como resulta.
He probado con lo siguiente y logro el objetivo, sin embargo, me
cuelga el aplicativo.
-----
BEGIN
RAISE EXCEPTION 'No existe Saldo suficiente para atender el
producto --> %', reg_pedidos.cod_producto;
RETURN 0; --// No existe Saldo suficiente para atender el pedido //--
END;
-----
Saludos,
Marcos Rios R.
Quoting Jaime Casanova <jcasa...@systemguards.com.ec>:
On Wed, Apr 29, 2009 at 3:12 PM, <marcosr...@planet.com.pe> wrote:
Estimada Lista,
Tengo una funcion que me actualiza saldos de varios productos, le envio como
parametros un nro de pedido y la funcion lee todos los productos
relacionados con ese nro de pedido descontando uno a uno de la tabla de
saldos la cantidad solicitada.
eso es porque no puedes usar rollback dentro de una funcion...
que tal si pones un CHECK constraint en la tabla que vas a actualizar,
algo asi como: CHECK (stock_disponible >= 0), asi al actualizar y
quedar el valor menor a cero va a dar un error (usa una EXCEPTION para
manejar el error) y eso automaticamente hara un ROLLBACK
--
Atentamente,
Jaime Casanova
Soporte y capacitación de PostgreSQL
AsesorÃa y desarrollo de sistemas
Guayaquil - Ecuador
Cel. +59387171157
--
TIP 9: visita nuestro canal de IRC #postgresql-es en irc.freenode.net
--
TIP 8: explain analyze es tu amigo