Base De Datos

Páginas: 5 (1113 palabras) Publicado: 5 de octubre de 2011
Hemos visto que existen varios objetos de base de datos, hasta ahora hemos visto TABLAS y algunas FUNCIONES predefinidas. Otro objeto de base de datos
es la secuencia.

Una secuencia (sequence) se emplea para generar valores enteros secuenciales únicos y asignárselos a campos numéricos; se utilizan generalmente para las
claves primarias de las tablas garantizando que sus valores no serepitan.

Una secuencia es una tabla con un campo numérico en el cual se almacena un valor y cada vez que se consulta, se incrementa tal valor para la próxima consulta.

Sintaxis general:

create sequence NOMBRESECUENCIA
start with VALORENTERO
increment by VALORENTERO
maxvalue VALORENTERO
minvalue VALORENTERO
cycle | nocycle;

- La cláusula "start with" indica el valor desde elcual comenzará la generación de números secuenciales. Si no se especifica, se inicia con el valor que indique "minvalue".

- La cláusula "increment by" especifica el incremento, es decir, la diferencia entre los números de la secuencia; debe ser un valor numérico entero positivo o negativo diferente de 0. Si no se indica, por defecto es 1.

- "maxvalue" define el valor máximo para lasecuencia. Si se omite, por defecto es 99999999999999999999999999.

- "minvalue" establece el valor mínimo de la secuencia. Si se omite será 1.

- La cláusula "cycle" indica que, cuando la secuencia llegue a máximo valor (valor de "maxvalue") se reinicie, comenzando con el mínimo valor ("minvalue")
nuevamente, es decir, la secuencia vuelve a utilizar los números. Si se omite, por defecto la secuenciase crea "nocycle".

Si no se especifica ninguna cláusula, excepto el nombre de la secuencia, por defecto, comenzará en 1, se incrementará en 1, el mínimo valor será 1, el máximo
será 999999999999999999999999999 y "nocycle".

----------------------------------------
8.1.1 Creating and Dropping Sequences
----------------------------------------

select * from employees_dc

createsequence emp_seq
increment by 1
start with 1
maxvalue 99999
minvalue 1
nocycle;

Para ver todas las secuencias creadas en la base de datos.

select * from all_sequences;

También podemos ver todos los objetos de la base de datos actual tipeando;

select * from all_objects;

En la tabla resultado aparecen todos los objetos de la base de datos, incluidas las secuencias; si es una secuenciaen la columna OBJECT_TYPE se muestra "SEQUENCE".

Podemos consultar "all_objects" especificando que nos muestre el nombre de todas las secuencias:

select * from all_objects
where object_type='SEQUENCE';

-----------------------------
8.1.2 Using Sequences
-----------------------------

Dijimos que las secuencias son tablas; por lo tanto se accede a ellas mediante consultas, empleando"select". La diferencia es que utilizamos pseudocolumnas
para recuperar el valor actual y el siguiente de la secuencia. Estas pseudocolumnas pueden incluirse en el "from" de una consulta a otra tabla o de la tabla "dual".

Para recuperar los valores de una secuencia empleamos las pseudocolumnas "currval" y "nextval".

Primero debe inicializarse la secuencia con "nextval". La primera vez quese referencia "nextval" retorna el valor de inicio de la secuencia;
las siguientes veces, incrementa la secuencia y nos retorna el nuevo valor:

NOMBRESECUENCIA.NEXTVAL;

select emp_seq.nextval from dual;

se coloca el nombre de la secuencia seguido de un punto y la pseudocolumna "nextval" (que es una forma abreviada de "next value", siguiente valor).

Para recuperar el valor actual deuna secuencia usamos:

NOMBRESECUENCIA.CURRVAL;

select emp_seq.currval from dual;

es decir, el nombre de la secuencia, un punto y la pseudocolumna "currval" (que es una forma abreviada de "current value", valor actual).

Los valores retornados por "currval" y "nextval" pueden usarse en sentencias "insert" y "update".

select * from employees_dc;

DROP SEQUENCE emp_seq

create...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Que es una base de datos y tipos de base de datos
  • Bases de datos y usuarios de bases de datos
  • Base De Datos
  • Base De Datos
  • Base de datos
  • Base De Datos
  • Base de datos
  • Bases de datos

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS