[Pgsql-ayuda] Cabecera - Detalle de factura
Antonio Castro
acastro@ciberdroide.com
Thu, 13 Mar 2003 17:00:43 +0100 (CET)
On Thu, 13 Mar 2003, Manuel Infante Ruiz wrote:
>=20
>=20
>=20
>=20
> Necesito almacenar la cabecera y detalle de facturas.
>=20
> L=F3gicamente dividida en dos tablas. El n=FAmero de factura es una=
=20
> secuencia. =BF=BFC=F3mo me quedo en una transacci=F3n con la secuencia de=
la=20
> cabecera para asignarla al campo relacionado con la tabla detalle??
>=20
> Saludos a la lista=A1=A1
No se si te entiendo bien. Creo que te refieres al proceso de alta=20
simultanea de cabecera m=E1s lineas de detalle.
Tienes que comprender una serie de cosas. Los n=FAmeros de secuencia
se usan como claves para garantizar unicidad pero no garantizan el
orden secuencial de las operaciones. Si necesitas garantizar esto
=FAltimo (creo que no hace ninguna falta) tendr=EDas que usar adem=E1s del
dato de secuencia auton=FAmerico un dato de timestamp.
Por otra parte para garantizar la atomizidad de las operaciones de
cabecera y detalle en forma de todo o nada tienes que abrir una=20
transaccion y no cerrarla hasta que esten todas la operaciones=20
realizadas. En caso de surgir algun problema en medio de la transacci=F3n
se aborta la transaccion y todo queda como estaba.
Espero que sea eso lo que quer=EDas preguntar.
--=20
Un saludo
Antonio Castro
/\ /\ Ciberdroide Inform=E1tica=20
\\W// << http://www.ciberdroide.com >>
_|0 0|_ =20
+-oOOO-(___o___)-OOOo---------------------+=20
| . . . . U U . Antonio Castro Snurmacher | =20
| . . . . . . . acastro@ciberdroide.com |=20
+()()()---------()()()--------------------+