IBM PureData System for Analytics, Version 7.1

CREATE SEQUENCE

Use a instrução CREATE SEQUENCE para criar uma sequência. Uma sequência é um objeto de banco de dados a partir do qual vários usuários podem gerar números inteiros exclusivos.

Para criar sequências específicas, faça o seguinte:
  • Para criar uma sequência crescente que seja incrementada para seu valor de tipo de dados máximo, omita MAXVALUE ou especifique NO MAXVALUE. Para sequências decrescentes que são decrementadas para o valor mínimo de 1, omita MINVALUE ou especifique NO MINVALUE.
  • Para criar uma sequência que pare em um limite predefinido para sequências crescentes, especifique um valor para o parâmetro MAXVALUE. Para sequências decrescentes, especifique um valor para MINVALUE. Além disso, especifique NO CYCLE. Qualquer tentativa de gerar um número de sequência após a sequência atingir seu limite resultará em um erro.
  • Para criar uma sequência que seja reiniciada após atingir seu limite, especifique CYCLE.

Após a criação de uma sequência, é possível acessar seu valor na instrução SQL com a instrução NEXT VALUE FOR (que incrementa a sequência e retorna o novo valor).

O sistema gera números de sequência independentemente de a transação ser confirmada ou recuperada. Se dois usuários incrementarem simultaneamente a mesma sequência, os números da sequência adquiridos por cada usuário poderão ter diferenças, pois o outro usuário está gerando números de sequência. Nenhum usuário, no entanto, poderá adquirir o número de sequência gerado pelo outro usuário.

Sintaxe

Sintaxe para criar uma sequência:
CREATE SEQUENCE <seq_name>
[ AS <datatype> ] 
[ START WITH <start_value> ] 
[ INCREMENT BY <increment> ] 
[ NO MINVALUE | MINVALUE <minimum_value> ] 
[ NO MAXVALUE | MAXVALUE <maximum_value> ] 
[ NO CYCLE | CYCLE ];

Entradas

O comando CREATE SEQUENCE utiliza as seguintes entradas:
Tabela 1. Entradas CREATE SEQUENCE
Entrada Descrição
<seq_name> O nome da sequência.
<datatype> O tipo de dados. O valor pode ser qualquer tipo de número inteiro exato, como byteint, smallint, integer ou bigint. Se você não especificar essa opção, o tipo de dados padrão será bigint. Para obter uma descrição dos tipos de dados e seus intervalos, consulte Tabela 1.
START WITH O valor inicial. Use esta cláusula para iniciar uma sequência ascendente em um valor maior que o mínimo ou para iniciar uma sequência decrescente em um valor menor que seu máximo.

Para sequências ascendentes, o valor padrão será o valor mínimo da sequência. Para sequências decrescentes, o valor padrão será o valor máximo da sequência. Este valor de número inteiro deve estar entre o minvalue e maxvalue do tipo de dado de sequência.

INCREMENT BY O valor de incremento. O valor de número inteiro pode ser qualquer número inteiro positivo ou negativo, mas não pode ser zero. A magnitude desse valor deve ser menor que a diferença de minvalue e maxvalue.

Se você especificar um valor positivo, é possível criar uma sequência ascendente. Se você especificar um valor negativo, uma sequência decrescente será criada. Se você não especificar essa opção, o padrão é 1.

NO MINVALUE | MINVALUE O valor mínimo da sequência. O padrão é NO MINVALUE, que é equivalente a especificar um valor mínimo de 1.

MINVALUE deve ser menor que ou igual a START WITH e deve ser menor que MAXVALUE.

NO MAXVALUE | MAXVALUE O valor máximo que a sequência pode ter. O padrão é NO MAXVALUE, o que resulta no maior valor para o tipo de dados especificado.

MAXVALUE deve ser igual a ou maior que START WITH e deve ser maior que MINVALUE. Para obter uma descrição dos intervalos de tipo de dados, consulte Tabela 1.

NO CYCLE | CYCLE Se a sequência continua gerando valores após atingir seu valor máximo (em uma sequência ascendente) ou seu valor mínimo (em uma sequência decrescente). O padrão é NO CYCLE, o que significa que a sequência para ao atingir seu último valor.

Se você especificar CYCLE, quando uma sequência ascendente atingir o valor máximo, ela usará seu valor mínimo mais próximo. Quando uma sequência decrescente atingir seu valor mínimo, ela usará seu valor máximo próximo.

Saída

O comando CREATE SEQUENCE produz a seguinte saída:
Tabela 2. Saída CREATE SEQUENCE
Saída Descrição
CREATE SEQUENCE O comando foi bem-sucedido.

Privilégios

Você deve ser o usuário administrador, o proprietário do banco de dados ou esquema ou a sua conta deve ter a permissão de administração Criar Sequência.

Uso

A seguir está o uso de amostra:
  • Crie uma sequência como um número inteiro com um valor inicial de 11, incremento de 2, minvalue de 1 e maxvalue de 100:
       CREATE SEQUENCE sequence1 As integer START WITH 11 INCREMENT BY 2
    MINVALUE 1 MAXVALUE 100 NO CYCLE;


Feedback | Copyright IBM Corporation 2014 | Last updated: 2014-02-28