¿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

No hay comentarios:

Publicar un comentario