Buscar..


Sintaxis

  • CREAR SECUENCIA SCHEMA.SEQUENCE {INCREMENTO DE INTEGER | COMENZAR CON INTEGER | MAXVALUE INTEGER | INTEGER NOMAXVALUE | MINVALUE INTEGER | NOMINVALUE INTEGER | CICLO INTEGER | INTEGER DE CICLO | CACHE | NOCACHE | ORDEN | NOODER}

Parámetros

Parámetro Detalles
esquema nombre de esquema
incrementar por intervalo entre los números
Empezar con primer numero necesario
valor máximo Valor máximo para la secuencia.
nomaxvalue El valor máximo está predeterminado
minvalor valor mínimo para la secuencia
valor nominal el valor mínimo está predeterminado
ciclo Restablecer al inicio después de alcanzar este valor.
nociciclo Defecto
cache Límite de Preubicación
nocache Defecto
orden Garantizar el orden de los números.
sin orden defecto

Creando una secuencia: Ejemplo

Propósito

Utilice la instrucción CREATE SEQUENCE para crear una secuencia, que es un objeto de base de datos desde el cual varios usuarios pueden generar enteros únicos. Puedes usar secuencias para generar automáticamente valores de clave primaria.

Cuando se genera un número de secuencia, la secuencia se incrementa, independientemente de la transacción confirmada o retrotraída. Si dos usuarios incrementan simultáneamente la misma secuencia, entonces los números de secuencia que cada usuario adquiere pueden tener huecos, ya que el otro usuario está generando números de secuencia. Un usuario nunca puede adquirir el número de secuencia generado por otro usuario. Después de que un usuario genere un valor de secuencia, ese usuario puede continuar accediendo a ese valor independientemente de si la secuencia es incrementada por otro usuario.

Los números de secuencia se generan independientemente de las tablas, por lo que la misma secuencia se puede usar para una o varias tablas. Es posible que los números de secuencia individuales parezcan omitidos, ya que se generaron y usaron en una transacción que finalmente se retrotrajo. Además, un solo usuario puede no darse cuenta de que otros usuarios están dibujando desde la misma secuencia.

Después de crear una secuencia, puede acceder a sus valores en sentencias de SQL con la pseudocolumna CURRVAL, que devuelve el valor actual de la secuencia, o la pseudocolumna NEXTVAL, que incrementa la secuencia y devuelve el nuevo valor.

Prerrequisitos

Para crear una secuencia en su propio esquema, debe tener el privilegio del sistema CREATE SEQUENCE.

Para crear una secuencia en el esquema de otro usuario, debe tener el privilegio del sistema CREAR CUALQUIER SECUENCIA.

Creación de una secuencia: Ejemplo La siguiente declaración crea la secuencia clients_seq en el esquema de muestra oe. Esta secuencia podría usarse para proporcionar números de ID de cliente cuando se agregan filas a la tabla de clientes.

CREATE SEQUENCE customers_seq
START WITH     1000
INCREMENT BY   1
NOCACHE
NOCYCLE;

La primera referencia a customers_seq.nextval devuelve 1000. La segunda devuelve 1001. Cada referencia posterior devolverá un valor 1 mayor que la referencia anterior.



Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow