Re: Folio de facturas

From: Roberto Andrade Fonseca <randrade(at)inteligentes(dot)com(dot)mx>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Folio de facturas
Date: 2005-05-27 19:28:18
Message-ID: 1117222098.429774d20bae3@mail.nul-unu.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Hola Alvaro:

> > ¿Será necesario:
> >
> > BEGIN;
> > SELECT * from incremento for update;
> > UPDATE incremento set numero=numero+1;
> > COMMIT;
>
> Yo diria que el select for update es necesario -- no puedes asumir que
> durante un UPDATE no habra otros procesos haciendo UPDATE sobre la misma
> tabla. (Aunque se bloquean al tratar de actualizar el mismo registro)
>
> No me quedo claro el uso de la tabla incremento: es una tabla de una
> sola fila? Si no es asi, por que bloquarla entera? Si _si_ es una
> tabla de una sola fila, entonces por que no haces LOCK TABLE incremento?

Sería una tabla en donde guardaría, para cada sucursal, el contador (enteros) de
un folio de facturas.

Llevaría tantas filas como sucursales.

Más bien sería algo como (ejemplo):

BEGIN;
SELECT contador_folio from incremento where id_sucursal = 5 for update;
UPDATE incremento set contador_folio=contador_folio+1 where id_sucursal = 5;
COMMIT;

¿Con esto solo estoy bloquendo esa fila?

¿Así debería hacerlo?

Gracias de antemano,

--
Roberto Andrade Fonseca
Inteligentes.com, S.A. de C.V.
Tel. 5207-1672/73

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Cesar Alvarado P. 2005-05-27 19:57:11 RE: Re: [pgsql-es-ayuda] Instalacin Postgres
Previous Message manuel lamas 2005-05-27 19:14:16 Re: libpq++ y FreeBSD