Tratando Secuencias
Una secuencia es una tabla con un campo numérico en el cual se almacena un valor. Las secuencias se crean para generar valores enteros únicos y consecutivos. Se utiliza principalmente 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 se va a sumar al valor actual.
- Puede ser un número negativo o diferente de 0.
- Si no se indica, por defecto es 1.
MAXVALUE:
- Indica el máximo valor al que puede llegar la secuencia.
- Si no se indica, por defecto es 99999999999999999999999999.
MINVALUE:
- Indica el mínimo valor al que puede llegar la secuencia.
- Si no se indica, por defecto es 1.
CYCLE:
- Indica que cuando se llegue al máximo valor, se reinicie al mínimo valor nuevamente.
- Si no se indica, por defecto la secuencia se crea nocycle.
Sentencias para recuperar los valores:
- NEXTVAL: devuelve el siguiente valor del valor actual (incrementándolo o decrementándolo).
- Ejemplo: SELECT nueva_seq.NEXTVAL FROM dual,
- CURRVAL: devuelve 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úmer
tratando secuencias