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@postgresql.org)
Para cambiar tu suscripción:
http://www.postgresql.org/mailpref/pgsql-es-ayuda