DB2 – Secuencias

Este capítulo le presenta el concepto de secuencia, la creación de una secuencia, la visualización de una secuencia y su eliminación.

Introducción

Una secuencia es una función de software que genera números enteros en orden ascendente o descendente dentro de un rango específico para generar una clave primaria y coordinar otras claves en una tabla. Estás usando una secuencia para usar números enteros como employee_id o transaction_id. La secuencia puede admitir los tipos de datos SMALLINT, BIGINT, INTEGER y DECIMAL. La secuencia puede ser compartida por múltiples aplicaciones. La secuencia aumenta o disminuye independientemente de las transacciones.

La secuencia se crea con la instrucción CREATE SEQUENCE.

Tipos de secuencia

Hay dos tipos de secuencias disponibles:

  • NEXTVAL: Devuelve el valor incrementado del ordinal.

  • COSTE ANTERIOR: Devuelve el valor recién creado.

Parámetros de secuencia

Los siguientes parámetros se utilizan para las secuencias:

Tipo de datos: Este es el tipo de datos del valor de retorno incrementado. (INFERIOR, GRANDE, INTEGRAL, NUMERO, DUAL)

EMPEZAR CON: El valor de referencia en el que comienza la secuencia.

MINVALUE: El valor mínimo para iniciar la secuencia.

VALOR MÁXIMO: El valor máximo de la secuencia.

CRECIMIENTO POR: el valor de paso en el que se incrementa la secuencia.

Secuencia de bucle: La cláusula CYCLE hace que se vuelva a generar la secuencia. La secuencia se genera haciendo referencia al valor de retorno, que se almacena en la base de datos por la generación anterior de la secuencia.

Creación de secuencia

Puede crear una secuencia con la siguiente sintaxis:

Sintaxis:

db2 create sequence <seq_name> 

Ejemplo: [To create a new sequence with the name ‘sales1_seq’ and increasing values from 1]

db2 create sequence sales1_seq as int start 
with 1 increment by 1  

Ver secuencias

Puede ver la secuencia utilizando la sintaxis siguiente:

Sintaxis:

db2 value <previous/next> value for <seq_name>

Ejemplo: [To see list of previous updated value in sequence ‘sales1_seq’]

db2 values previous value for sales1_seq  

Salida:

 1 
----------- 
  4 
  1 record(s) selected. 

Eliminar una secuencia

Para descartar una secuencia, debe utilizar el comando «DROP SEQUENCE». He aquí cómo hacerlo:

Sintaxis:

db2 drop sequence <seq_name>>

Ejemplo: [To drop sequence ‘sales1_seq’ from database]

db2 drop sequence sales1_seq  

Salida:

 DB20000I The SQL command completed successfully. 

🚫