Oracle Sequence

Para criar auto-incremento no Oracle temos um objeto chamado SEQUENCE. Esse objeto é um gerador de números sequenciais.

Neste post temos dicas de como usar esse objeto e gerar números sequenciais.

O primeiro passo é criar a nossa sequence, o que pode ser feito com o script:

Cursos Online
CREATE SEQUENCE NOME_SEQUENCE
 MINVALUE valor
 MAXVALUE valor
 START WITH valor
 INCREMENT BY valor
 NOCACHE/CACHE valor; 

A opção CACHE ou NOCACHE determina se a sequence fará uma reserva de números cada vez que for gerado um novo(NEXTVAL). Essa reserva visa otimizar a performance pois esses valores são armazenados na memória, sem necessidade de um novo select na sequence.

Para gerar números com uma sequence basta executar um select na coluna virtual NEXTVAL:

-- Gerar próximo valor da sequencia
SELECT NOME_SEQUENCE.nextval
FROM dual;

Para obter o valor atual, ou seja o último número gerado na sessão atual, basta executar um select na coluna virtual CURRVAL:

 -- Último valor gerado da sequencia, valor atual
 SELECT NOME_SEQUENCE.currval
 FROM dual;
 

Vc também pode usar sequence em comandos como INSERT ou UPDATE:

INSERT INTO tabela
 (id, nome)
 VALUES
 (NOME_SEQUENCE.nextval, 'WILLIANRDG');

Para completar, seguem alguns links (em inglês):

Cursos Online

Sequences (Autonumber) – http://www.techonthenet.com/oracle/sequences.php

Sequence Pseudocolumns – http://download.oracle.com/docs/cd/B19306_01/server.102/b14200/pseudocolumns002.htm

Share on Facebook0Tweet about this on TwitterShare on Google+0Share on LinkedIn0Print this pageEmail this to someone

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Blog Willian Rodrigues

Receba as atualizações do blog no seu e-mail