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