| 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: | Whole Thread | Raw Message | 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 |