From: | Pablo Braulio <brulics(at)gmail(dot)com> |
---|---|
To: | Alvaro Herrera <alvherre(at)commandprompt(dot)com> |
Cc: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: Ayuda con trigger para delete. |
Date: | 2006-06-08 13:43:11 |
Message-ID: | 200606081543.11243.brulics@gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
El Jueves, 8 de Junio de 2006 15:33, Alvaro Herrera escribió:
> Problemas de concurrencia. Las secuencias no estan disen~adas para
> volver atras.
Bueno, pero no lo acabo de entender.
Un ejemplo:
SELECT max(id) as id from catalogo;
id
------
3427
(1 fila)
Si borro el último registro de esta tabla.
delete from catalogo where id = 3427;
y manualmente reestructuro:
select setval('catalogo_id_seq', (select max(id) as id from catalogo) );
Al hacer un nuevo insert, este tendrá como valor de "id" 3427.
Se trataría de hacer esto, pero con un trigger.
No trato de que no exitan "hoyos". Es decir, que se borren datos por en medio
de la tabla, me da lo mismo. Lo que quiero es que se siga el orden de
numeración al borrar el último registro.
No entiendo que problema de concurrencia puede haber. Pero si me lo puedes
explicar con un ejemplo, posiblemente quede mas claro.
Gracias.
--
Saludos.
Pablo.
From | Date | Subject | |
---|---|---|---|
Next Message | Pablo Braulio | 2006-06-08 13:45:09 | Re: Ayuda con trigger para delete. |
Previous Message | Mariano Lauría | 2006-06-08 13:40:53 | Re: [pgsql-es-ayuda] Transacción |