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
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.