Re: modos de bloqueo

From: Kernel <jucabapa(at)gmail(dot)com>
To:
Cc: Ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: modos de bloqueo
Date: 2016-04-20 11:48:26
Message-ID: 57176C8A.6030104@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

El 19/04/2016 a las 20:26, Alvaro Herrera escribió:
> Kernel escribió:
>> Hola,
>>
>> Voy a hacer un proceso de facturacion y necesito asegurar que nadie pueda
>> facturar en el mismo momento que yo.
>
> ¿cuál es la razón para esta restricción?
>

El problema es el numero de factura, se me podria duplicar, un usuario
podria estar haciendo un proceso de 100 facturas y otro solo una, dentro
de la misma serie.

Este es el proceso resumido. (es bdl de 4js)

BEGIN WORK

TRY
declare aux_3410_serie cursor for
select *
from fseries
where fseries.empresa = act.empresa
and fseries.serie >= r.serie_ini
and fseries.serie <= r.serie_fin
order by fseries.serie

foreach aux_3410_serie into aux2.*

declare albaranes cursor for
select albaranes
where serie = aux2.serie
and fecha >= r.fecha_ini
and fecha <= r.fecha_fin
and .... (limites del usuario)


FOREACH albaranes .....
......
......
LET aux2.factura = aux2.factura + 1
insert into facturas values
(act.empresa,aux2.serie.aux2.factura ......
borrar albaran y pasa al historico

update fseries
set factura = aux2.factura
where fseries.empresa = act.empresa and serie = aux2.serie

end foreach

end foreach

COMMIT WORK
CATCH
ROLLBACK WORK
END TRY

-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda(at)postgresql(dot)org)
Para cambiar tu suscripción:
http://www.postgresql.org/mailpref/pgsql-es-ayuda

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Ivan Perales M. 2016-04-20 14:12:43 Re: modos de bloqueo
Previous Message Ivan Perales M. 2016-04-19 22:25:00 Re: [pgsql-es-ayuda] Separación lógica de tablas, agrega rendimiento?