Secuencias

    ORACLE proporciona los objetos de secuencia para la generación de códigos numericos automáticos. 

    Las secuencias son una solución fácil y elegante al problema de los codigos autogenerados.

    LA sintaxis general es la siguiente:


CREATE SEQUENCE <secuence_name>
[MINVALUE <min_val>]
[MAXVALUE <max_val>]
[START WITH <ini_val>]
[INCREMENT BY <inc_val>]
[NOCACHE | CACHE <cache_val>]
[CYCLE]
[ORDER];

    El siguiente ejemplo crea una secuencia SQ_PRODUCTOS.


CREATE SEQUENCE SQ_PRODUCTOS
MINVALUE 1
MAXVALUE 999999999999999999999999999
START WITH 1
INCREMENT BY 1
CACHE 20;

    Se puede simplificar la orden, tomando los valores por defecto. El ejemplo anterior quedaría del siguiente modo:


CREATE SEQUENCE SQ_PRODUCTOS;

    Para obtener el siguiente valor de una secuencia debemos utilizar la función NEXTVAL. NEXTVAL se puede utilizar el cualquier sentencia SQL DML (SELECT, INSERT, UPDATE).


SELECT SQ_PRODUCTOS.NEXTVAL
FROM DUAL;

    Podemos obtener el último valor generado por la secuencia con la función CURRVAL. Para poder ejecutar la función CURRVAL debemos haber ejecutado previamente la función NEXTVAL.


SELECT SQ_PRODUCTOS.CURRVAL
FROM DUAL;

    Para eliminar una secuencia definitivamente de la base de datos debemos utilizar la sentencia DROP.


DROP SEQUENCE
SQ_PRODUCTOS ;

 

Pedro  Herrarte  Sánchez
Secuencias
Pedro Herrarte Sánchez

Pedro Herrarte, es consultor independiente, ofreciendo servicios de consultoría, análisis, desarrollo y formación. Posee mas de diez años de experiencia trabajando para las principales empresas de España. Es especialista en tecnologías .NET, entornos Web (ASP.NET, ASP.NET MVC,jQuery, HTML5), bases de datos (SQL Server y ORACLE) e integración de sistemas. Es experto en desarrollo (C#, VB.Net, T-SQL, PL/SQL, , ASP, CGI , C, Pro*C, Java, Essbase, Vignette, PowerBuilder y Visual Basic ...) y bases de datos (SQL Server y ORACLE). Pedro es MCP y MAP 2012, es fundador, diseñador y programador de www.devjoker.com..
Fecha de alta:26/07/2006
Última actualizacion:26/07/2006
Visitas totales:161828
Valorar el contenido:
Últimas consultas realizadas en los foros
Últimas preguntas sin contestar en los foros de devjoker.com