Re: Ayuda con trigger para delete.

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

In response to

Responses

Browse pgsql-es-ayuda by date

  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