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
>
>
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 |