duda con select for update

From: uno dos <refreegrata(at)yahoo(dot)com>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: duda con select for update
Date: 2009-06-18 21:26:39
Message-ID: 192097.91647.qm@web38408.mail.mud.yahoo.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Yo trabajo con postgres 8.2.

Voy a dar un ejemplo falso y tal vez sin sentido con el sólo fin de poder plantear mi duda.

1) tengo :

   table ejemplo
   (
    codigo PK;
    ....
    ...
  )

si yo hago una transaccion(con el aislamiento por defecto) y dentro un

         select * from ejemplo where codigo=1 for update

bueno este select for update impediria que otras transacciones editen la fila con codigo 1 hasta que termine la transaccion.

Ahora ¿que pasa si no encuentra una fila con codigo=1?
Pasa esto:
1) Ninguna otra transacción podrá insertar una fila con codigo 1, ni tampoco podrá
  cambiarle a otra fila el código al valor 1

ó pasa esto:

2) puede insertar filas con codigo 1 y también puede cambiarle el codigo a otra fila para dejarselo en 1.

Bueno, espero puedan ayudarme

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Emanuel Calvo Franco 2009-06-18 21:37:24 Re: duda con select for update
Previous Message suso 2009-06-18 18:42:29 Re: Bloqueo en registro-tabla