Banco de dados

Como criar sequence no Oracle

 

Como criar Sequence no Oracle
Como criar Sequence no Oracle

 

Introdução à sequence no Oracle

Neste artigo, explicarei de forma resumida o que é uma sequence e como criar uma sequence no Oracle.

 

O que é uma Sequence

O que é uma Sequence , uma sequência é um objeto de banco de dados que gera números únicos em ordem sequencial.  Geralmente utilizamos as sequências para criar valores de chave primária de forma automática sem a necessidade de inserirmos de forma manual ao realizarmos uma inserção no banco.

Elas são especialmente úteis quando você precisa garantir que cada registro em uma tabela tenha um identificador único.

 

Como criar uma Sequence no Oracle

Para criar uma sequência, usamos o  comando `CREATE SEQUENCE` acompanhado de alguns parâmetros, logo abaixo deixo um exemplo básico de criação de uma sequence:

 

CREATE SEQUENCE minha_sequencia
START WITH 1
INCREMENT BY 1
NOCACHE;

 


Abaixo deixo uma breve explicação do código que implementei  acima:

  • START WITH 1: Defino o valor inicial da sequência.
  • INCREMENT BY 1: Define que  o incremento entre cada valor gerado, neste exemplo escolhi 1;
  • NOCACHE: Indica que o valor da sequência fica armazenado em cache;

 

Como utilizar uma Sequence em uma Inserção

Depois que criar a sequência, você pode usá-la em uma inserção de dados no banco usando a instrução INSERT para gerar valores únicos.

Para isso usamos a função NEXTVAL da sequência, que é usada para obter o próximo valor da sequence.

 

INSERT INTO minha_tabela (id, nome, idade)
VALUES (minha_sequencia.NEXTVAL, 'Paulo', 32);

 

Explicação do código que implementei  acima:

  • No exemplo acima, utilizei a função (NEXTVAL)  da sequence que criei (minha_sequencia) para obter o próximo valor da sequência e utilizei o valor retornado para inserir na coluna id da tabela minha_tabela.

 

Considerações sobre Performance

  • Cache: Quando usamos  a opção CACHE pode melhorar a performance quando você precisa armazenar um conjunto de valores da sequência na memória. Isso  reduzir o número de acessos ao disco.
  • NOCACHE: Embora NOCACHE garanta que os valores sejam gerados sequencialmente sem lacunas, isso pode impactar a performance em sistemas que possuem uma  alta concorrência.

 

Referências

addressing-use-sequences-oracle

 

 

 

 

 

Deixe um comentário

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