Facturas y detalles ,nextval, currval, setval

From: "manuel lamas" <manuel3w(at)hotmail(dot)com>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Facturas y detalles ,nextval, currval, setval
Date: 2005-01-21 18:14:01
Message-ID: BAY103-F6FE97E8B0A7E421BC638F95820@phx.gbl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Hola lista:

Quiero hacer una transaccion tipica para hacer una factura de tipo:

BEGIN TRANSACTION ;

INSERT INTO FACTURAS(facturaid,etc...)VALUES(DEFAULT,etc....);

INSERT INTO DETALLES(detalleid,facturaid,etc...)VALUES
( DEFAULT,currval 'facturas_facturaid_seq') , etc ..);

COMMIT TRANSACTION;

Por supuesto que si hay un error en la tabla FACTURAS o en DETALLES todo
queda anulado.

El problema es que va a quedar un numero inutilisado en la columna facturaid
de la tabla FACTURAS y es molesto para un programa de contabilidad.

Busque en los viejos mensages de la lista en espanol,ingles y frances.
Encontre gente con el mismo problema que yo pero ninguna respuesta terrible.

Pense en varias soluciones de tipo: crear 2 tablas temporarias en las cuales
hago el insert y si todo marcha hago un transfert a las buenas tablas. Pero
no me parece muy elegante... tiene que haber algo mejor.

Muchas gracias de antemano.

Manuel

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Jorge Pérez 2005-01-21 18:40:51 Sobre PgAdmin III
Previous Message Alvaro Herrera 2005-01-21 15:52:28 Re: BLOBs con bytea o con Large Objects