DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:
 
 

Oracle e seu objeto Sequence

Veja neste artigo o objeto Sequence do Oracle.

Entenda como funciona a Sequence no Oracle

 

Para utilizar um campo com Auto-Numeração ou Identity como é conhecido por vários sistemas no mercado o Oracle Database traz um objeto chamado SEQUENCE no qual é responsável por essa atividade.

 

Características

         - Acelera a busca do próximo valor a ser utilizado caso esteja na memória;

         - Retira do programador a responsabilidade de ficar controlando o "Next

  Value" de um determinado campo;

         - Geralmente utilizada em campos que tem a Constraint Primary Key;

         - Pode ser um objeto compartilhado, ou seja, pode ser utilizado por várias

   tabelas ao mesmo tempo;

         - Gera números únicos automaticamente.

 

Parâmetros

         CREATE SEQUENCE <name>

                   INCREMENT BY n

                   START WITH n

                   MAXVALUE n

                   NOCYCLE

                   CACHE n;

 

Increment by

irá adicionar ‘n’ em cada número gerado;

Start

valor no qual a sequence irá iniciar;

MaxValue

irá gerar no máximo até o valor ’n’;

NoCycle

Não irá continuar caso o tamanho máximo chegue ao seu limite;

Cache

quantidade de números gerados na memória para facilitar a utilização da sequence. Ao utilizar o cache tem um ganho muito grande no momento da utilização do "Next Value", porém, todos os números que estão na memória e ainda não foram utilizados serão perdidos caso ocorra algum problema com a SGA.

 

Exemplo prático

         -- Cria Sequência

                   create sequence seq_DBCenter

                            increment by 1

                            start with 1

                            maxvalue 500

                            nocycle

                            cache 10;

 

         -- Cria Tabela

                   create table tb_aluno

                            (codigo number(3),

                             nome varchar2(50));

        

-- Inclui registro na tabela criada utilizando a sequence SEQ_DBCENTER

insert into tb_aluno (codigo, nome)

values (seq_DBCenter.nextval, 'Felipe');

 

Conclusão


A utilização de Sequence é considerada uma das “Best Practices” no mercado.


Leandro
Leandro Oliveira (leandro@dbcenter.com.br) é Pós-Graduando em Computação Forense pela Universidade Presbiteriana Mackenzie. Graduado em Administração em Banco de Dados pela Faculdade IBTA. DBA Oracle e SQL Server formado pela Oracle University e Microsoft Official Curriculum. Atua no mercado também ...
O que você achou deste post?

    0 COMENTÁRIO

[Fechar]

Este post é fechado - você precisa ter acesso ao post para incluir um comentário.


Nenhum comentário foi postado - seja o primeiro a comentar!
Cursos relacionados
Publicidade
[Fechar]

Você precisa estar logado para dar um feedback.

Clique aqui para efetuar o login
[Fechar]


Este post está fechado. Saiba mais sobre a assinatura MVP!
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2013 - Todos os Direitos Reservados a web-03