Skip site navigation (1) Skip section navigation (2)

Re: Duda existencial en el uso de Triggers

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 (view raw or flat)
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

In response to

pgsql-es-ayuda by date

Next:From: Alvaro HerreraDate: 2010-05-18 19:02:38
Subject: Re: TABLESPACE pg_default sin espacio en disco
Previous:From: Alvaro HerreraDate: 2010-05-18 18:34:34
Subject: Re: Duda existencial en el uso de Triggers

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group