[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
+()()()---------()()()--------------------+