Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Como evitar valores duplicados no SQL Server


Isso pressupõe que você tenha o SQL Server 2012 (esclareça)

Não é uma resposta completa, mas posso expandir se desejar.

Primeiro crie uma sequência (apenas execute isso uma vez):
create sequence CustomerCare 
    as integer
    start with 51
    increment by 1
    minvalue 51
    maxvalue 350
    cycle;

agora pegue a próxima sequência dele (execute isso quantas vezes quiser):
select next value for CustomerCare

Este método não pode distribuir o mesmo número para duas solicitações diferentes para que você não obtenha duplicatas. Ele será automaticamente agrupado quando chegar a 350. Você pode criar e usar sequências para seus outros agrupamentos. Muito mais simples que a outra solução e 100% confiável.

Novamente, preciso desaconselhar a criação de intervalos de números mágicos para grupos específicos.