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
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? |