From: | marcosrios(at)planet(dot)com(dot)pe |
---|---|
To: | pgsql-es-ayuda(at)postgresql(dot)org |
Cc: | jcasanov(at)systemguards(dot)com(dot)ec |
Subject: | Re: Como usar ROLLBACK |
Date: | 2009-05-04 15:25:28 |
Message-ID: | 20090504102528.d17780y804w4w808@webmail.planet.com.pe |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
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 <jcasanov(at)systemguards(dot)com(dot)ec>:
> On Wed, Apr 29, 2009 at 3:12 PM, <marcosrios(at)planet(dot)com(dot)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
>
From | Date | Subject | |
---|---|---|---|
Next Message | Alvaro Herrera | 2009-05-04 15:52:20 | Re: Re: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] comportamiento extraño |
Previous Message | suso | 2009-05-04 15:24:16 | SQLITE Y POSTGRESQL |