Tutorial de SAP HANA: crear secuencia

¿Qué es Secuencia?

Una secuencia es un objeto de base de datos que genera automáticamente la lista incrementada de valores numéricos de acuerdo con la regla especificada en la especificación de secuencia.

Por ejemplo, para insertar el número de empleado automáticamente en la columna (EMPLOYEE_NO) de la tabla, cuando se inserta un nuevo registro en la tabla, usamos la secuencia.

Los valores de secuencia se generan en orden ascendente o descendente.

Las secuencias no están asociadas con tablas; son utilizados por la aplicación. Hay dos valores en secuencia:

  • CURRVAL: proporciona el valor actual de la secuencia.
  • NEXTVAL: proporciona el siguiente valor de secuencia.

SINTAXIS

CREATE SEQUENCE <sequence_name> [<sequence_parameter_list>] [RESET BY <subquery>]

ELEMENTOS DE SINTÁXIS

ELEMENTOS DESCRIPCIÓN
Es el nombre de la secuencia.
[] Especifica uno o más parámetros de secuencia.
COMENZAR CON Describe el valor de la secuencia inicial.
INCREMENTAR POR Esto especifica el valor que se incrementará desde el último valor asignado cada vez que se genere un nuevo valor de secuencia. El valor predeterminado es 1.
MAXVALUE Esto especifica el valor máximo que puede generar la secuencia. puede estar entre -4611686018427387903 y 4611686018427387902.
SIN VALOR MÁXIMO Cuando se especifica NO MAXVALUE, para una secuencia ascendente, el valor máximo será 4611686018427387903 y el valor mínimo para una secuencia descendente será -1.
VALOR MÍNIMO / SIN VALOR MÍNIMO Especifica el valor mínimo que una secuencia puede generar. puede estar entre -4611686018427387904 y 4611686018427387902. Cuando se utiliza NO MINVALUE, el valor mínimo para una secuencia ascendente es 1
CICLO La directiva CYCLE especifica que el número de secuencia se reiniciará después de que alcance su valor máximo o mínimo.
SIN CICLO Opción predeterminada. La directiva NO CYCLE especifica que el número de secuencia no se reiniciará después de que alcance su valor máximo o mínimo.
CACHÉ / El tamaño de la caché especifica qué rango de números de secuencia se almacenarán en caché en un nodo. debe ser un entero sin signo.
SIN CACHÉ Opción por defecto. La directiva NO CACHE especifica que el número de secuencia no se almacenará en caché en un nodo.
RESET POR Especifica que durante el reinicio de la base de datos, la base de datos ejecuta automáticamente la y el valor de la secuencia se reinicia con el valor devuelto.

Ejemplo

Crearemos una secuencia con el nombre DHK_SCHEMA.EMP_NO, que creará un valor incrementado de la secuencia en +1 cada vez que se use la secuencia.

Guión de secuencia –

CREATE SEQUENCE DHK_SCHEMA.EMP_NO START WITH 100 INCREMENT BY 1.

Aquí usaremos el objeto "secuencia" en el siguiente ejemplo para incrementar el valor del número de empleado en +1 cada vez que se ejecuta la consulta de selección. En la consulta, el "nextval" se puede utilizar para generar el número de serie o el mismo tipo de requisito.

Uso de secuencia –

SELECT DHK_SCHEMA.EMP_NO.nextval FROM DUMMY;

SALIDA - 100,101,102......... Entonces, en cada ejecución de la consulta de selección anterior.