Vous êtes sur la page 1sur 3

ORACLE

SECUENCIAS EN ORACLE
LABORATORIO
OBJETIVO
Crear secuencias para campos numéricos de tablas en Oracle.

PREGUNTAS
1. Crear una secuencia para el código del cliente que inicie en
100 con incremento de 1.
CREATE SEQUENCE incremento_id_cliente
INCREMENT BY 1
START WITH 100

2. Para utilizar la secuencia, en primer lugar, crearemos una


tabla de prueba (para insertar un registro y comprobar que la
secuencia anterior funciona correctamente):
create table clientes (
codigo number not null primary key,
nombre varchar2(100) unique not null,
cif varchar2(15) unique,
fechaalta date)

3. Para utilizar la secuencia creada en una inserción de fila:

insert into clientes values (incremento_id_cliente.NextVal,


'AjpdSoft', '11225522F', sysdate)

4. Realizamos otra inserción para comprobar que el incremento es


de 1:

insert into clientes values (incremento_id_cliente.NextVal,


'Otro cliente', '00000G',sysdate)

5. Para comprobar que la secuencia ha funcionado en los inserts


anteriores hacemos un SELECT a la tabla "clientes":
select * from clientes

El resultado de este SELECT debe ser de dos registro con


"código" 100 y 101:

Ing. Dante García Página 1


ORACLE
SECUENCIAS EN ORACLE
LABORATORIO
6. Ejemplo de creación de una secuencia cíclica (cuando llegue
al valor máximo empezará por el valor inicial)
CREATE SEQUENCE incremento_ciclico
INCREMENT BY 1
START WITH 10
MAXVALUE 30
CYCLE

7. Creamos una tabla para las pruebas:


create table prueba_ciclo (
codigo number not null primary key,
ciclo number not null,
fechaalta date)

8. Ahora realizamos la inserción de más de 20 filas para


comprobar que la secuencia cíclica funciona:
insert into prueba_ciclo values (
incremento_id_cliente.NextVal,
incremento_ciclico.NextVal,
sysdate)

9. Como se puede observar en el ejemplo anterior hemos utilzados


dos secuencias "incremento_id_cliente" y
"incremento_ciclico".
Para comprobar que el ciclo funciona realizamos un SELECT
sobre la tabla "prueba_ciclo":

select * from prueba_ciclo

Crear una secuencia decreciente

10. Para crear una secuencia decremental el parámetro


INCREMENT BY tendrá valor -1 y el parámetro START WITH
coincidirá con el parámetro MAXVALUE:
CREATE SEQUENCE secuencia_decremental
INCREMENT BY -1
START WITH 100 MAXVALUE 100

Ing. Dante García Página 2


ORACLE
SECUENCIAS EN ORACLE
LABORATORIO
11. Para hacer la prueba crearemos la tabla
"prueba_decremental":
create table prueba_decremental (numero number, fecha date)

12. Ahora insertaremos unas cuantas filas para comprobar que


la secuencia funciona correctamente:
insert into prueba_decremental values
(secuencia_decremental.NextVal, sysdate)

13. Haremos un SELECT para comprobar que la secuencia es


decremental:
select * from prueba_decremental

Ing. Dante García Página 3

Vous aimerez peut-être aussi