| 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: | Whole Thread | Raw Message | 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
| 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 |