De lá para cá, chegamos à versão Release Candidate (0) do produto,
denominado como: Microsoft SQL Server 2012.
Este artigo tem o fundamento de apresentar uma das várias novidades que
a próxima versão do SQL Server nos traz, como por exemplo, o uso de SEQUENCES.
As SEQUENCES são objetos usado para gerar valores de auto numeração,
onde podemos definir os valores iniciais e seus incrementos.
São como qualquer outro objeto definido no schema e vinculado a um
usuário, além de ter as opções do comando CREATE, ALTER e DROP SEQUENCE para
gerenciamento. Além disso, podemos consulta a VIEW sys.sequences para exibição
do catálogo, afim de sabermos mais sobre os objetos Sequence no banco de dados.
A diferença em relação ao conhecido IDENTITY (velho conhecido no SQL
Server) se dá pelo fato de que uma SEQUENCE poder ser acionada sempre que
necessária independente de tabelas e campos do banco. Entretanto, em relação à
funcionalidade, a SEQUENCE mantém semelhanças com o IDENTITY.
Por padrão, uma SEQUENCE possui seu DataType definido como bitint,
porém, também poderemos trabalhar com DataTypes como:
- tinyint;
- smallint
- int
- decimal
- numeric
A imagem abaixo mostra onde poderemos visualizar as SEQUENCES já
criadas para nosso Banco de dados e respectivamente, criar uma nova SEQUENCE,
conforme mostra a Imagem 1 e 2.
Imagem 1 – Local onde encontramos os objetos SEQUENCES
Imagem 2 – Tela de criação de uma SEQUENCE
Assim como uma Procedure, Trigger e Function, podemos também criar
SEQUENCES através de linha de código do Management Studio, como apresentado na
figura abaixo:
Imagem 3 – Criando uma SEQUENCE via linha de Código do Management
Studio.
Na imagem acima, o comando descreve a inclusão de alguns parâmetros
para a criação de uma SEQUENCE, como por exemplo:
- MINVALUE e MAXVALUE: delimitam o limite da SEQUENCE com seu
respectivo valor máximo e mínimo. Caso o valor não seja inserido, será
atribuído o valor do DataType escolhido.
- INCREMENT: define em quantos números serão incrementadas as
sequencias. No exemplo da imagem acima, será realizado o incremento de 1 em 1.
- CYCLE: A propriedade do objeto CYCLE permite começar novamente um
ciclo a partir do momento que a propriedade MINVALUE e MAXVALUE for atingida.
- CACHE: pelo fato de desempenho, o SQL Server pré-aloca os números
sequencias pela propriedade CACHE, sendo que o valor padrão para esta é 15,
significando que valores de 1 a 15 serão disponibilizados na memória a partir
do último valor armazenado em cache.
Na Imagem abaixo, criei um Script bem simples que envolve a utilização
de Sequence no SQL Server 2012 R0.
Imagem 4 – Criando os objetos que poderão ser utilizados no exemplo.
Se perceberem, não inclui os comandos MINVALUE, MAXVALUE e CYCLE na
criação da SEQUENCE, visto que não quero utilizá-los no momento.
Na linha 28, temos o comando que fará o incremento da SEQUENCE dentro
da Tabela.
Ao executarmos a Procedure do exemplo e a mesma incluir o registro,
podemos confirmar o processamento através de um SELECT na tabela, conforme
exemplo da imagem abaixo:
Imagem 5 – Executando a Procedure e verificando os valores inseridos na
Tabela
Conclusão:
Neste artigo demos uma introdução sobre o que é o objeto SEQUENCE, além
de como criamos e trabalharmos com ele dentro do banco de dados.
Além deste exemplo, poderíamos incluir ai um comparativo entre SEQUENCE
x IDENTITY e controle Transacional com SEQUENCE. Porém, estes serão um assunto
para o próximo Artigo.
Bons estudos.
Nenhum comentário:
Postar um comentário