Mostrando entradas con la etiqueta Crear secuencia oracle. Mostrar todas las entradas
Mostrando entradas con la etiqueta Crear secuencia oracle. Mostrar todas las entradas

¿Como crear una secuencia (Sequence) en PL/SQL Oracle?



Una secuencia es un objeto de base de datos el cual permite la generación de números en un orden que puede ser o no consecutivo.

Create sequence nombre_secuencia;

Esta sentencia creara una nueva secuencia, esta sentencia es la más básica para crear un secuencia la cual iniciara en 1 y cada vez que sea utilizado aumentara ordenadamente de 1 en 1.
Para utilizar una secuencia se utilizan las siguientes dos funciones nextval y currval

Nextval: Incrementa el valor de la secuencia, cada vez que se utiliza aumenta el valor de la secuencia.

Currval: Muestra el valor actual que tiene la secuencia.
Las secuencias son utilizadas principalmente para la generación de Id de una llave primaria.

Ejemplo:

Create table amigos (
                Id_amigos number primary key,
                Nombre varchar2(200),
                Barrio varchar2(100)
);

Create sequence seq_pruebas start with 2 increment by 2;

Insert into amigos (id_amigos, nombre, barrio) values (seq_pruebas.nextval,'David','Puertas del sol');

Select  seq_pruebas.nextval from dual; --Aumenta la secuencia

Insert into amigos (id_amigos, nombre, barrio) values( seq_pruebas.currval,'Jose','Alcazarez');

Select * from amigos;

Id_amigos
Nombre
Barrio
2
David
Puertas del sol
4
Jose
Alcazarez


Nota: Al crear una secuencia la primera instrucción que debe ejecutar es nextval, si utiliza el currval le generara un error, porque la secuencia no tiene valor asignado aun