Semântica
Esquema
Especificar o esquema para conter a sequência. Se omitir schema
, então o Oracle Database cria a sequência no seu próprio esquema.
Sequência
Especifique o nome da sequência a ser criada.
Se não especificar nenhuma das seguintes cláusulas, então cria uma sequência ascendente que começa com 1 e aumenta em 1 sem limite superior. Especificando apenas INCREMENT
BY
-1 cria uma sequência descendente que começa com -1 e diminui sem limite inferior.
-
Para criar uma sequência que aumenta sem limite, para sequências ascendentes, omitir o parâmetro
MAXVALUE
ou especificarNOMAXVALUE
. Para sequências descendentes, omitir o parâmetroMINVALUE
ou especificar o parâmetroNOMINVALUE
. -
Para criar uma sequência que pare num limite predefinido, para uma sequência ascendente, especificar um valor para o parâmetro
MAXVALUE
. Para uma sequência descendente, especifique um valor para o parâmetroMINVALUE
. Especifique tambémNOCYCLE
. Qualquer tentativa de gerar um número de sequência quando a sequência atinge o seu limite resulta num erro. -
Para criar uma sequência que reinicia após atingir um limite predefinido, especifique valores para os parâmetros
MAXVALUE
eMINVALUE
. Especifique tambémCYCLE
. Se você não especificarMINVALUE
, então o valor padrão éNOMINVALUE
, que é o valor 1.
INCREMENT BY Especifique o intervalo entre os números da seqüência. Este valor inteiro pode ser qualquer número inteiro positivo ou negativo, mas não pode ser 0. Este valor pode ter 28 ou menos dígitos. O absoluto deste valor deve ser menor que a diferença de MAXVALUE
e MINVALUE
. Se este valor for negativo, então a sequência desce. Se o valor for positivo, então a sequência ascende. Se você omitir esta cláusula, então o intervalo padrão é 1,
START WITH Specify the first sequence number to be generated. Use esta cláusula para iniciar uma sequência ascendente com um valor maior que o seu mínimo ou para iniciar uma sequência descendente com um valor menor que o seu máximo. Para seqüências ascendentes, o valor padrão é o valor mínimo da seqüência. Para seqüências decrescentes, o valor proposto é o valor máximo da seqüência. Este valor inteiro pode ter 28 ou menos dígitos.
Nota:
Este valor não é necessariamente o valor para o qual uma sequência de ciclos ascendentes cicla após atingir seu valor máximo ou mínimo.
MAXVALOR Especifique o valor máximo que a sequência pode gerar. Este valor inteiro pode ter 28 ou menos dígitos. MAXVALUE
deve ser igual ou maior que START
WITH
e deve ser maior que MINVALUE
.
NOMAXVALUE Especifique NOMAXVALUE
para indicar um valor máximo de 1027 para uma sequência ascendente ou -1 para uma sequência descendente. Este é o valor padrão.
MINVALUE Especifique o valor mínimo da sequência. Este valor inteiro pode ter 28 ou menos dígitos. MINVALUE
deve ser menor ou igual a START
WITH
e deve ser menor que MAXVALUE
.
NOMINVALOR Especifique NOMINVALUE
para indicar um valor mínimo de 1 para uma sequência ascendente ou -1026 para uma sequência descendente. Este é o valor padrão.
CICLO Especifique CYCLE
para indicar que a sequência continua a gerar valores depois de atingir o seu valor máximo ou mínimo. Após uma sequência ascendente atingir seu valor máximo, ela gera seu valor mínimo. Depois que uma seqüência descendente atinge seu valor mínimo, gera seu valor máximo.
NOCYCLE Especifique NOCYCLE
para indicar que a seqüência não pode gerar mais valores depois de atingir seu valor máximo ou mínimo. Este é o valor padrão.
CACHE Especifique quantos valores da seqüência a base de dados pré-aloca e mantém na memória para um acesso mais rápido. Este valor inteiro pode ter 28 ou menos dígitos. O valor mínimo para este parâmetro é 2. Para as seqüências que se clicam, este valor deve ser menor que o número de valores no ciclo. Não é possível armazenar mais valores do que aqueles que cabem em um determinado ciclo de números sequenciais. Portanto, o valor máximo permitido para CACHE
deve ser menor que o valor determinado pela seguinte fórmula:
(CEIL (MAXVALUE - MINVALUE)) / ABS (INCREMENT)
Se ocorrer uma falha no sistema, então todos os valores da seqüência em cache que não foram usados nas declarações de DML comprometidas são perdidos. O número potencial de valores perdidos é igual ao valor do parâmetro CACHE
Nota:
Oracle recomenda usar a configuração CACHE
para melhorar o desempenho se você estiver usando seqüências em um ambiente Oracle Real Application Clusters.
NOCACHE Especifique NOCACHE
para indicar que os valores da seqüência não são pré-alocados. Se você omitir ambos CACHE
e NOCACHE
, então o banco de dados armazena 20 números sequenciais por padrão.
ORDER Especifique ORDER
para garantir que os números sequenciais sejam gerados em ordem de solicitação. Esta cláusula é útil se você estiver usando os números seqüenciais como carimbos de tempo. A ordem de garantia geralmente não é importante para seqüências usadas para gerar chaves primárias.
ORDER
só é necessária para garantir a geração de ordem se você estiver usando Oracle Real Application Clusters. Se você estiver usando o modo exclusivo, então números de seqüência são sempre gerados em ordem.
NOORDER Especifique NOORDER
se você não quiser garantir que números de seqüência sejam gerados em ordem de solicitação. Este é o padrão.