Creación y Gestión de Secuencias
Las secuencias son objetos del esquema desde los que se pueden generar valores secuenciales únicos, que son muy útiles cuando necesita claves primarias únicas. Las secuencias se utilizan a través de las pseudocolumnas CURRVAL y NEXTVAL, que devuelven los valores actual y siguiente de la secuencia, respectivamente.
Después de crear una secuencia, debe inicializarla utilizando NEXTVAL para obtener su primer valor. Solo después de inicializar una secuencia, CURRVAL devuelve su valor actual.
El esquema HR tiene tres secuencias: DEPARTMENTS_SEQUENCE, EMPLOYEES_SEQUENCE y LOCATIONS_SEQUENCE.
Consejo: Cuando desee utilizar una secuencia para rellenar la clave primaria de una tabla, asigne a la secuencia un nombre que refleje este objetivo. (Este tema utiliza la regla de nomenclatura TABLE_NAME_SEQUENCE.)
Consulte además:
-
Oracle Database Concepts para obtener una visión general de las secuencias
-
Referencia de lenguaje SQL de Oracle Database para obtener más información sobre las pseudocolumnas CURRVAL y NEXTVAL
-
Oracle Database Administrator's Guide para obtener información sobre la gestión de secuencias
Tutorial: Creación de una Secuencia
Este tutorial muestra cómo utilizar la herramienta Crear Secuencia de Base de Datos para crear una secuencia que se utilice para generar claves primarias para la tabla EVALUATIONS.
La tabla EVALUATIONS se creó en el Example 4-1.
Para crear una secuencia, utilice la herramienta Crear Secuencia de SQL Developer o la sentencia DDL CREATE SEQUENCE. La sentencia DDL equivalente es:
CREATE SEQUENCE evaluations_sequence
INCREMENT BY 1
START WITH 1 ORDER;
Pasos para crear EVALUATIONS_SEQUENCE mediante la herramienta Crear secuencia de base de datos:
-
En el marco Conexiones, expanda hr_conn.
-
En la lista de tipos de objetos de esquema, haga clic con el botón derecho en Secuencias.
-
En la lista de opciones, haga clic en Nueva secuencia.
-
En la ventana Create Sequence, en el campo Name, escriba
EVALUATIONS_SEQUENCEen el valor predeterminado "SEQUENCE1". -
Si el panel Propiedades no se muestra, haga clic en el separador Propiedades.
-
En el panel Properties (Propiedades):
-
En el campo Incremento, escriba
1. -
En el campo Inicio, escriba
1. -
Para el resto de campos, acepte los valores por defecto.
-
Haga clic en Aceptar.
Se crea la secuencia EVALUATIONS_SEQUENCE. Su nombre aparece bajo Secuencias en el marco Conexiones.
-
Consulte además:
-
Guía del usuario de Oracle SQL Developer para obtener más información sobre el uso de SQL Developer para crear una secuencia
-
Consulte Oracle Database SQL Language Reference para obtener información sobre la sentencia CREATE SEQUENCE.
-
"Tutorial: Creación de un Disparador que Genera una Clave Primaria para una Fila antes de Insertarla" para aprender a crear un disparador que inserte las claves primarias creadas por EVALUATIONS_SEQUENCE en la tabla EVALUATIONS
Borrado de Secuencias
Para borrar una secuencia, utilice el marco de conexiones y el método de borrado de SQL Developer o la sentencia DDL DROP SEQUENCE.
Esta sentencia borra la secuencia EVALUATIONS_SEQUENCE:
DROP SEQUENCE EVALUATIONS_SEQUENCE;
Atención: no borre la secuencia EVALUATIONS_SEQUENCE; la necesita para el ejemplo 5-3. Si desea practicar el borrado de secuencias, cree otras y, a continuación, colóquelas.
Pasos para borrar una secuencia con la herramienta Borrar:
-
En el marco Conexiones, expanda hr_conn.
-
En la lista de tipos de objetos de esquema, amplíe Secuencias.
-
En la lista de secuencias, haga clic con el botón derecho en el nombre de la secuencia que desea borrar.
-
En la lista de opciones, haga clic en Borrar.
-
En la ventana Drop, haga clic en Apply (Aplicar).
-
En la ventana Confirmation, haga clic en OK (Aceptar).
Consulte también: Referencia de lenguaje SQL de Oracle Database para obtener información sobre la sentencia DROP SEQUENCE