From: | "Juan Manuel Fernandez" <jmfernandez(at)unlu(dot)edu(dot)ar> |
---|---|
To: | "Lista - PostgreSQL" <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: Bloqueo de tablas |
Date: | 2008-08-07 16:47:18 |
Message-ID: | 27f3c8cd0808070947s765a1d0ck5c7edbf45a2fce19@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
2008/8/7 Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>:
> Juan Manuel Fernandez escribió:
>> Hace un tiempo en esta lista se propuso como una buena opción para
>> mantener correlativos en una tabla, el bloqueo de la misma, y el
>> incremento del máximo valor de esa tabla para insertar.
>> Ahora bien, pregunta técnica: Como bloqueo la tabla para luego
>> insertar el valor? Porque he visto que hay varios modos y que algunos
>> tienen sus desventajas...
>
> LOCK TABLE.
Palabra clave: muy útil para cuando estas tan desorientado
tecnicamente como estaba yo.
Gracias a todos, tema resuelto e implementado... tiro dos ejemplos de
su uso y el enlace salvador:
http://es.tldp.org/Postgresql-es/web/navegable/user/user.html
Illustrate a SHARE lock on a primary key table when going to perform
inserts into a foreign key table:
BEGIN WORK;
LOCK TABLE películas IN SHARE MODE;
SELECT id FROM películas
WHERE name = 'Star Wars: Episodio I - La amenaza fantasma';
-- Haz ROLLBACK si el registro no fue devuelto
INSERT INTO comentarios_usuario_películas VALUES
(_id_, 'GUAY! Llevaba tanto tiempo esperándola!');
COMMIT WORK;
Toma un bloqueo SHARE ROW EXCLUSIVE clave de tabla primaria cuando
vayas a hacer una operación de borrado:
BEGIN WORK;
LOCK TABLE películas IN SHARE ROW EXCLUSIVE MODE;
DELETE FROM comentarios_usuario_películas WHERE id IN
(SELECT id FROM películas WHERE clasificación < 5);
DELETE FROM películas WHERE clasificación < 5;
COMMIT WORK;
Saludos,
> --
> Alvaro Herrera Valdivia, Chile Geotag: -39,815 -73,257
> "El hombre nunca sabe de lo que es capaz hasta que lo intenta" (C. Dickens)
> --
> TIP 10: no uses HTML en tu pregunta, seguro que quien responda no podrá leerlo
>
Juan
From | Date | Subject | |
---|---|---|---|
Next Message | Alvaro Herrera | 2008-08-07 17:13:36 | Re: Bloqueo de tablas |
Previous Message | Jaime Casanova | 2008-08-07 16:01:59 | Re: Obtener las ultimas versiones de un conjunto de registros |