¿Qué es la 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 la 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
CREAR SECUENCIA[ ] [RESET BY ]
ELEMENTOS DE SINTAXIS
ELEMENTOS | DESCRIPCIÓN |
---|---|
Es el nombre de la secuencia. | |
[ | Especifica uno o más parámetros de secuencia. |
EMPEZAR CON | Describe el valor de la secuencia inicial. |
INCREMENTO POR | Esto especifica el valor que se incrementará desde el último valor asignado para 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. |
SIN MAXVALUE | 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. |
MINVALUE | Especifica el valor mínimo que puede generar una secuencia. |
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. |
CACHE | El tamaño de la caché especifica qué rango de números de secuencia se almacenarán en caché en un nodo. |
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. |
RESTABLECER POR | Especifica que durante el reinicio de la base de datos, la base de datos ejecuta automáticamente la |
Ejemplo -
Crearemos una secuencia con el nombre DHK_SCHEMA.EMP_NO, que creará un valor incrementado de la secuencia en +1 cada vez, cuando se utilice la secuencia.
Secuencia de comandos -
CREAR SECUENCIA DHK_SCHEMA.EMP_NO EMPEZAR CON 100 INCREMENTO POR 1.
Aquí usaremos el objeto "secuencia" en el siguiente ejemplo para incrementar el valor del empleado no en +1 cada vez que se ejecuta la consulta de selección. En la consulta, el "nextval" se puede utilizar para la generación de números de serie o el mismo tipo de requisito.
Uso de secuencia -
SELECCIONE DHK_SCHEMA.EMP_NO.nextval FROM DUMMY;
SALIDA - 100,101,102
... Entonces, en cada ejecución de la consulta de selección anterior.