INGRESAR

REGISTRARSE
Buscador

Gestión de secuencias en sql

2024-04-05


Gestión de secuencias en sql

Una secuencia es conocida por ser una tabla con un campo numérico en el cual almacenamos un valor. Las secuencias se nos crean para que nos genere valores enteros únicos y consecutivos. Lo utilizamos generalmente para generar valores para las claves primarias (pks).

Sentencia crear una secuencia:

  • CREATE SEQUENCE [esquema.] Nombre_secuencia [START WITH número] [INCREMENT BY número] [MAXVALUE número | NOMAXVALUE] [MINVALUE número | NOMINVALUE] [CYCLE | NOCYCLE];

Ejemplo crear una secuencia:

  • CREATE SEQUENCE hr.nueva_seq START WITH 1;

Opciones para crear una secuencia:

  • INCREMENT BY: El valor que vamos a sumar al valor actual. Podemos usar un número negativo o contrario de 0. Si no se indica, por defecto es 1.
  • MAXVALUE: Nos indica el valor máximo que puede obtener la secuencia. Si no se indica, por defecto es 99999999999999999999999999.
  • MINVALUE: Nos indica el valor mínimo al que puede obtener la secuencia. Si no se indica, por defecto es 1.
  • CYCLE: Nos indica cuando lleguemos al valor máximo, se reinicie al mínimo valor nuevamente. Si no se indica, por defecto la secuencia se crea nocycle.

Sentencias para recuperar los valores:

  • NEXTVAL: regresa el siguiente valor del valor actual (incrementándolo o decrementándolo). Ejemplo: SELECT nueva_seq.NEXTVAL FROM dual;
  • CURRVAL: nos regresa el valor actual de la secuencia. Ejemplo: SELECT nueva_seq.currval FROM dual;

Ejemplo de uso de secuencias en un insert:

  • Ejemplo: INSERT INTO hr.jobs VALUES (hr.nueva_seq.currval, "designer ", 1700, 2500);

Sentencia y opciones para modificar una sentencia:

  • ALTER SEQUENCE [esquema.] Nombre_secuencia [INCREMENT BY número] [MAXVALUE número | NOMAXVALUE] [MINVALUE número | NOMINVALUE] [CYCLE | NOCYCLE]
  • El único valor que no se puede modificar de una sentencia es el valor de comienzo.

Ejemplo para incrementar el valor de la secuencia:

  • ALTER SEQUENCE hr.nueva2_seq INCREMENT BY 3;

Sentencia para eliminar una secuencia:

  • DROP SEQUENCE nombre_secuencias; Ejemplo: DROP SEQUENCE nueva2_seq;

Sentencia para ver todas las secuencias a la que se tiene acceso:

  • SELECT * FROM all_sequences;

Sentencia para ver todos los objetos a los que se tiene acceso:

  • SELECT * FROM all_objects;

Publicaciones Recientes

imagen del Post
Curso de SQL: Domina la Gestión de Bases de Datos

  • 92 Videos
  • 5 Hrs de videos
  • 60 Test
  • 40 Hrs de estudio
  • 164404
    13$

imagen del Post
Plan Master

Accede a todos los cursos de una misma temática por un único pago

20$

imagen del Post
Curso oracle sql huelva

El lenguaje SQL es una herramienta esencial para la gestión y manipulación ...

imagen del Post
Fundamentos de bases de datos relacionales

Las bases de datos relacionales son un pilar fundamental en la gestión de d...

imagen del Post
Introducción a sql primeros pasos

En el mundo actual, impulsado por los datos, la habilidad de gestionar y ma...

imagen del Post
5 beneficios de sql: ventajas y razones para usarlo

Uno de los secretos a voces del éxito de muchas empresas está en la solidez...

imagen del Post
Explora Temas Interesantes

Desde guías prácticas hasta análisis profundos, nuestro blog está lleno de contenido que te inspirará