From: | "Cuenca" <yeidel(dot)cuenca(at)facinf(dot)uho(dot)edu(dot)cu> |
---|---|
To: | "Pablo Braulio" <brulics(at)gmail(dot)com>, <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: Ayuda con trigger para delete. |
Date: | 2006-06-09 01:18:30 |
Message-ID: | 007401c68b62$9ea66a40$49021a0a@educdist |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
A pesar de que estoy de acuerdo con todo lo que te han dicho, me solidarizo
contigo y te ayudo, no la cojan conmigo!!!
//
begin
IF(select max(id) as id from catalogo) < OLD.id
THEN
perform setval('catalogo_id_seq', (select max(id) as id from catalogo) );
END IF;
return OLD;
end;
//
la probe con algunas variantes y funciono bien, pruebala tu a ver, recuerda
que cuando quieres descartar el resultado de un select, usa PERFORM....
esperi te sirva...
--- Original Message -----
From: "Pablo Braulio" <brulics(at)gmail(dot)com>
To: <pgsql-es-ayuda(at)postgresql(dot)org>
Sent: Thursday, June 08, 2006 9:14 AM
Subject: [pgsql-es-ayuda] Ayuda con trigger para delete.
Hola a todos.
Estoy tratando de hacer un trigger que me reestructure el campo id, de una
tabla, al borrarse el último registro de esta tabla.
Es decir. Si el último valor es 3427, y este es borrado, que el siguiente
valor en un próximo INSERT sea 3427.
Lo tengo hecho, así:
create or replace function num_registro() returns trigger as $$
begin
IF(select max(id) as id from catalogo) = OLD.id
THEN
select setval('catalogo_id_seq', (select max(id) as id from catalogo) );
END IF;
return OLD;
end;
$$ language plpgsql;
create trigger num_registro after delete on catalogo for row execute
procedure
num_registro();
Pero no hace lo que explico.
¿Alguien podría ayudarme?.
Gracias.
--
Saludos.
Pablo.
---------------------------(fin del mensaje)---------------------------
TIP 8: explain analyze es tu amigo
From | Date | Subject | |
---|---|---|---|
Next Message | Roger Villavicencio | 2006-06-09 02:55:45 | RE: Cerrar conexiones |
Previous Message | Jaime Casanova | 2006-06-09 00:58:05 | Re: Error al insertar |