Oracle Cómo crear un campo de incremento automático usando secuencia

En Oracle, puede crear un campo de incremento automático utilizando el objeto de base de datos 'secuencia' que se puede asignar como claves principales. Usando el objeto 'secuencia' de Oracle, puede generar nuevos valores para una columna. Una secuencia de Oracle es un objeto como una tabla o un procedimiento almacenado. Se proporcionan ejemplos con explicaciones del tutorial.

Crear una secuencia.

Sintaxis:

Crear secuencia secuencia nombre
comenzar con valor
incremento por valor
valor de minvalor
valor de maxvalor;

Veamos un ejemplo.

Primero, vamos a crear un emp tabla con restricción de clave principal en emp_id columna.

SQL> crear tabla emp (
número emp_id (10),
fchar varchar2 (25),
lname varchar2 (25),
restricción pk_emp_id CLAVE PRIMARIA (emp_id)
);

Ahora vamos a crear una secuencia.

SQL> Crear secuencia emp_sequence
comenzar con 1
incrementar en 1
minvalor 1
maxvalue 10000;

Ahora hemos creado un objeto de secuencia llamado emp_sequence con el valor inicial como 1 e incrementando en 1 desde 1 (valor mínimo) a 10000 (valor máximo).

Ahora insertemos los valores en la tabla emp.

SQL> insertar en los valores de emp (emp_id, fname, lname) (emp_sequence.nextval, 'Darvin', 'Johnson');
SQL> insertar en los valores de emp (emp_id, fname, lname) (emp_sequence.nextval, 'Mig', 'Andrews');
SQL> insertar en los valores de emp (emp_id, fname, lname) (emp_sequence.nextval, 'Alex', 'Martin');
SQL> insertar en los valores de emp (emp_id, fname, lname) (emp_sequence.nextval, 'Jon', 'paul');
SQL> insertar en los valores de emp (emp_id, fname, lname) (emp_sequence.nextval, 'Yatin', 'Bones');

En emp_sequence.nextval dónde emp_sequence Es el nombre de la secuencia que creamos arriba y nextval es una función que se utiliza para asignar el siguiente número de emp_sequence a emp_id columna en emp mesa.

Ahora veamos el emp mesa.

SQL> select * from emp; EMP_ID FNAME LNAME ---------- ------------------------- ------------ ------------- 1 Darvin Johnson 2 Mig Andrews 3 Alex Martin 4 Jon paul 5 Yatin Bones 

Ahora puedes ver usando 'secuencia' la emp_id La columna tiene valores incrementados automáticamente de 1 a 5.