From: | nestor <nestor(dot)njrz(at)gmail(dot)com> |
---|---|
To: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Como evitar que postgrest genere series con "huecos" |
Date: | 2011-09-13 21:29:54 |
Message-ID: | 4E6FCB52.9080407@gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Que tal amigos de postgrest!
Aqui estoy peleandome con las secuencias de postgrest, lo que quiero
hacer es evitar que postgres "pierda" o "saltee" secuencias, por ejemplo
me pasa que de la secuencia 2250 pasa a la 2259.
Estoy intentando modificar la secuencia y verificar que no ocurra dicho
"salto" con ul procedimiento almacenado como este:
CREATE OR REPLACE FUNCTION lux.tri_bi_reclamos()
RETURNS "trigger" AS
$BODY$
DECLARE
max_reclamo_id bigint not null;
icurrval bigint not null;
setvalreturn bigint not null;
BEGIN
begin
select max(reclamo_id) into max_reclamo_id
from lux.reclamos;
raise notice 'max_reclamo_id = %', max_reclamo_id;
select currval('lux.reclamos_reclamo_id_seq') into icurrval;
if (max_reclamo_id != icurrval) then
SELECT setval('lux.reclamos_reclamo_id_seq', max_reclamo_id +
1) into setvalreturn;
end if;
return new;
exception
when others then
raise exception 'tri_bi_reclamos: (%)', SQLERRM;
end;
END;$BODY$
LANGUAGE 'plpgsql' VOLATILE;
Pero los errores que da me pierden mas y ya no se que hacer.
Si alguien tubo un problema como este le agradeceria mucho me mostrara
como hacer, porque estoy usando el campo serial para darle numero a
reclamos, pero como saltea los numeros no esta sirviendo porque el
cliente quiere que sean si o si consecutivos sin ningun "salto" en la serie.
Desde ya gracias a la comunidad por su tiempo.
Atte.
Nestor Rodriguez
From | Date | Subject | |
---|---|---|---|
Next Message | Silvio Bravo Cadó | 2011-09-13 21:29:55 | Re: envio de sms |
Previous Message | Miguel Angel Hernandez Moreno | 2011-09-13 20:30:28 | Re: Mezclar datos + esquemas en otro server |