SAP Tutorial de 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.
