From: | juan <juanramirez(at)cajazacate(dot)com(dot)sv> |
---|---|
To: | pgsql-es-ayuda <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: Duda existencial en el uso de Triggers |
Date: | 2010-05-18 18:45:09 |
Message-ID: | 4BF2E035.5060803@cajazacate.com.sv |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Alvaro Herrera escribió:
> Creo que deberías
>
> 1. usar transacciones explícitas (BEGIN / COMMIT)
>
> 2. usar un LOCK TABLE para bloquear la tabla contra transacciones
> concurrentes (sólo un proceso a la vez debe poder insertar en la tabla)
>
> 3. usar un "SELECT max(columna) FROM tabla" para obtener el valor
> correlativo correcto, dependiendo del contenido de la tabla. Esto lo
> puedes hacer en un trigger BEFORE.
>
> Si lo haces de esa forma, estarás seguro que siempre funciona bien. El
> paso (2) es crítico, porque impide que otro proceso utilice el mismo
> valor que tú.
Gracias Jaime y gracias Álvaro
Debido a las reglas del negocio caigo a cuenta que sí aplica ésta
práctica de las transacciones explícitas.
Así lo hare.
--
Cordialmente,
Juan Ramírez
El Salvador
From | Date | Subject | |
---|---|---|---|
Next Message | Alvaro Herrera | 2010-05-18 19:02:38 | Re: TABLESPACE pg_default sin espacio en disco |
Previous Message | Alvaro Herrera | 2010-05-18 18:34:34 | Re: Duda existencial en el uso de Triggers |