lunes, 25 de octubre de 2010

PostgreSQL: Control de Secuencias

En PostgreSQL se pueden crear tablas con "primary key" autoincrementables, como se pude observar en el siguiente ejemplo.

create table alumnos (
   id        SERIAL       not null,
   nombre varchar(255) NULL,
   constraint pk_beneficios primary key (id));


Esto creara una secuencia autoincrementable para la "primary key" como se observa a continuación.

 id      integer        not null valor por omisión nextval('alumnos_id_seq'::regclass)

En ocaciones es necesario observar o modificar los valores de la secuencia, para realizar estas operaciones, se pueden utilizar las siguientes sentencias.

  • "SELECT last_value FROM nombre_secuencia;": Retorna el último valor de la secuencia.
  • "SELECT nextval('nombre_secuencia');": Retorna el valor del último número de la secuencia y lo incrementa en 1.
  • "SELECT setval ('nombre_secuencia', valor);": Asigna el valor a la secuencia, obligando a nextval a retornar (valor + 1).
  • "SELECT setval('nombre_secuencia',valor,true);": Funciona del mismo modo que la sentencia anterior.
  • "SELECT setval('nombre_secuencia',valor,false);": Asigna el valor a la secuencia, obligando a nextval a retornar (valor).
  • "SELECT currval('nombre_secuencia');": Retorna el valor del último número de la secuencia.
El nombre_secuencia puede ser remplazado por "alumno_id_seq" del primer ejemplo, mientras que el valor debe ser un entero mayor que 0 (cero).

"Gracias, por compartir tus conocimientos"

2 comentarios:

  1. Bolavita agen Slot Online terpercaya degan bonus dan pelayanan terbaik

    Ayo segera daftarkan menjadi angota baru bolavita hanya modal 50 rbu
    bisa jadi jutawan hanya ada di bolavita.club

    hanya dengan mebuktikan sendiri baru akan percya ayo segera daftar y tunngu ya
    degan pelayanan 24 jam yg sangat ramah dan baik

    Bonus cash back 10% untuk setiap member

    ayo segera daftar dan buktikan sendiri
    info lbh lanjut:

    WA: +62812-2222-995

    ResponderEliminar