From: | "Neil Peter Braggio" <pbraggio(at)gmail(dot)com> |
---|---|
To: | postgres <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: select for update |
Date: | 2007-09-19 16:45:42 |
Message-ID: | a722ba580709190945i6f26c248p5464ce9244c99e9b@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Utilizar esta cláusula en una sentencia SELECT hará que los registros
retornados se bloqueen exclusivamente hasta que finalice la
transacción actual. Esto hará que dichas columnas no puedan ser
modificadas por otros usuarios concurrentes (diferentes transacciones)
mientras dure tú transacción.
Es de utilidad en casos en donde quieras hacer operaciones que
involucren conocimiento sobre los registros retornados, y no desees
que sean modificados mientras esta operación culmina.
Para hacer el bloqueo tú SELECT esperará todo lo necesario para poder
obtener el bloqueo sobre los registros (si no utilizas la opción
NOWAIT), luego este se mantendrá hasta que culmine la transacción. Si
utilizas NOWAIT se reportará una excepción si no se puede obtener el
bloqueo inmediatamente sobre los registros a retornar.
Un ejemplo:
BEGIN TRANSACTION;
SELECT * FROM foo;
.
.
.
UPDATE foo SET ......;
.
.
.
COMMIT TRANSACTION;
Luego de la instrucción SELECT ninguna otra transacción podrá hacer
modificaciones a los registros retornados. Al terminar la transacción
(COMMIT en este ejemplo) los registros retornados por el SELECT serán
desbloqueados.
Espero que esto te ayude a aclarar un poco el uso de esta cláusula
para que puedas volver a releer la documentación y entender claramente
su uso. Seguro contarás luego con una herramienta más dentro de tú
repertorio de soluciones ;-)
----
Neil Peter Braggio
pbraggio(at)gamil(dot)com
On 9/19/07, José Fermín Francisco Ferreras <josefermin54(at)hotmail(dot)com> wrote:
>
> Hola chicos y chicas , algunos d ustedes ha tenido experiencia en hacer
> select for update, estuve checando la documentación d postgresql 8.2.4 y no
> entendi bien el asunto, si algunos d ustedes podrian mandar un ejemplito
> para aclarar el asunto.
>
> Gracias por su tiempo!!
>
>
>
> <html><div>ing. José Fermín Francisco Ferreras
> <BR>San Francisco de Macorís, Rep. Dom.
> <BR></div></html>
>
> ________________________________
> Envía mensajes de correo electrónico directamente a tu blog con MSN. Carga
> chistes, fotografías y muchas otras cosas. Es gratis.
From | Date | Subject | |
---|---|---|---|
Next Message | Neil Peter Braggio | 2007-09-19 16:58:30 | Re: ayuda con query por favor |
Previous Message | usuario anonimo | 2007-09-19 16:35:43 | Re: timestamp out of range |