DB2 - Sequências

Este capítulo apresenta o conceito de sequência, criação de sequência, visualização da sequência e eliminação delas.

Introdução

Uma sequência é uma função de software que gera números inteiros em ordem crescente ou decrescente, dentro de um intervalo definido, para gerar a chave primária e coordenar outras chaves na tabela. Você usa sequência para aproveitar números inteiros, digamos, para id_do_pregador ou id_da_transação Uma sequência pode suportar os tipos de dados SMALLINT, BIGINT, INTEGER e DECIMAL. Uma sequência pode ser compartilhada entre vários aplicativos. Uma sequência é incrementada ou diminuída independentemente das transações.

Uma sequência é criada pela instrução CREATE SEQUENCE.

Tipos de Seqüências

Existem dois tipos de sequências disponíveis:

  • NEXTVAL: Retorna um valor incrementado para um número de sequência.

  • PREVIOUS VALUE: Retorna o valor gerado recentemente.

Parâmetros de sequências

Os seguintes parâmetros são usados ​​para sequências:

Data type: Este é o tipo de dados do valor incrementado retornado. (SMALLINT, BIGINT, INTEGER, NUMBER, DOUBLE)

START WITH: O valor de referência com o qual a sequência começa.

MINVALUE: Um valor mínimo com o qual uma sequência deve começar.

MAXVALUE: Um valor máximo para uma sequência.

INCREMENT BY: valor do passo pelo qual uma sequência é incrementada.

Sequence cycling: a cláusula CYCLE provoca a geração da sequência repetidamente. A geração da sequência é realizada referindo-se ao valor retornado, que é armazenado no banco de dados pela geração anterior da sequência.

Criando uma sequência

Você pode criar a sequência usando a seguinte sintaxe:

Syntax:

db2 create sequence <seq_name>

Example: [Para criar uma nova sequência com o nome 'vendas1_seq' e valores crescentes de 1]

db2 create sequence sales1_seq as int start 
with 1 increment by 1

Visualizando as sequências

Você pode visualizar uma sequência usando a sintaxe fornecida a seguir:

Syntax:

db2 value <previous/next> value for <seq_name>

Example: [Para ver a lista do valor atualizado anterior na sequência 'sales1_seq']

db2 values previous value for sales1_seq

Output:

1 
----------- 
  4 
  1 record(s) selected.

Abandonando a sequência

Para remover a sequência, você precisa usar o “DROP SEQUENCE ”Comando. É assim que você faz:

Syntax:

db2 drop sequence <seq_name>>

Example: [Para descartar a sequência 'vendas1_seq' do banco de dados]

db2 drop sequence sales1_seq

Output:

DB20000I The SQL command completed successfully.