| From: | "Javier Aquino H(dot)" <JAquino(at)LexusEditores(dot)com> | 
|---|---|
| To: | "'nestor'" <nestor(dot)njrz(at)gmail(dot)com>, <pgsql-es-ayuda(at)postgresql(dot)org> | 
| Subject: | RE: Como evitar que postgrest genere series con "huecos" | 
| Date: | 2011-09-13 21:49:10 | 
| Message-ID: | !&!AAAAAAAAAAAYAAAAAAAAABnJyuKwyORPiEp2CPpUvXzigAAAEAAAAGhvep3cp8JGkupLyrI1HhcBAAAAAA==@LexusEditores.com | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-es-ayuda | 
Mejor usa una tabla para controlar tus correlativos ya que este tipo de
numeración debe ser transaccional, en otras palabras debe revertirse si hay
un rollback. 
Slds,
Javier.
-----Mensaje original-----
De: pgsql-es-ayuda-owner(at)postgresql(dot)org
[mailto:pgsql-es-ayuda-owner(at)postgresql(dot)org] En nombre de nestor
Enviado el: martes, 13 de septiembre de 2011 04:30 p.m.
Para: pgsql-es-ayuda(at)postgresql(dot)org
Asunto: [pgsql-es-ayuda] Como evitar que postgrest genere series con
"huecos"
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
-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda(at)postgresql(dot)org)
Para cambiar tu suscripción:
http://www.postgresql.org/mailpref/pgsql-es-ayuda
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Juan Pablo Santiago de Chile CEI | 2011-09-13 22:02:10 | RE: Mezclar datos + esquemas en otro server | 
| Previous Message | Jaime Casanova | 2011-09-13 21:33:54 | Re: Mezclar datos + esquemas en otro server |