Re: duda sobre secuencias

From: "Linder Poclaba" <linder(dot)poclaba(at)gmail(dot)com>
To: Juan Martínez <jeugenio(at)umcervantes(dot)cl>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: duda sobre secuencias
Date: 2006-06-10 02:40:33
Message-ID: 5aa69e1b0606091940h2f06c36fiaaddf229a29fd5a6@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Si hice en un trigger como dice mrb pero estaba haciendo mal algo, de
asignar el valor lo asigna pero Juan me hizo dar cuenta

no sera que te deja siempre el mismo valor?

y ahora funciona , mas que todo esto era para ayudar a alguien que pregunto
de como podian hacer que un secuencia no se rompa cuando se borra el ultimo
valor de la secuencia en la tabla, dieron la siguiente respuesta:

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;
pero pense que seria mejor usar "select last_value from nombre_secuencia" en
vez de "select max(id) as id from catalogo", porque si es grandisima la
tabla y sigue creciendo entonces empezara a tardara en hacer la consulta o
me equivoco?. e hice algo asi:

select last_value into indice from facturacion_id_seq;
perform setval('facturacion_id_seq',indice);

pero mi error era que tenia que restarle -1 a indice "perform
setval('facturacion_id_seq',indice-1);" para obtener el valor que queria
jeje gracias por todo.

On 6/9/06, Juan Martínez <jeugenio(at)umcervantes(dot)cl> wrote:
>
> El vie, 09-06-2006 a las 10:41 -0400, Linder Poclaba escribió:
> > Hola amigos, cuando asigno un nuevo valor a una secuencia algo asi no
> > me lo asina nada:
> >
> > setval('tabla_id_seq',(select last_value from tabla_id_seq));
> >
> > no entiendo porque no me lo asigna, alguien me lo puede aclarar?
>
> Mmm...que valor tiene last_value de tabla_id_seq?
>
> no sera que te deja siempre el mismo valor?
>
> Si last_value de tabla_id_seq es 0, entonces que valor crees que le
> estas poniendo a tu secuencia?
>
> > , pero si hago
> >
> > setval('tabla_id_seq',7);
>
> Sin comentarios...
>
> > ahi si lo asigna :(
>
> y que tiene de malo? (lo pregunto por la cara de tristeza que pones...)
>
> --
> Juan Martínez
> Depto. Inf.
> UMC
>
>

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Linder Poclaba 2006-06-10 03:01:02 Re: Ayuda con trigger para delete.
Previous Message Jaime Casanova 2006-06-09 23:40:07 Re: Noticias sobre la versión 8.2