sql >> Base de Datos >  >> RDS >> Sqlserver

Cómo evitar valores duplicados en SQL Server

Esto supone que tiene SQL Server 2012 (por favor aclare)

No es una respuesta completa, pero puedo ampliarla si lo desea.

Primero crea una secuencia (solo ejecuta esto una vez):

create sequence CustomerCare 
    as integer
    start with 51
    increment by 1
    minvalue 51
    maxvalue 350
    cycle;

ahora obtenga la siguiente secuencia (ejecútela tantas veces como quiera):

select next value for CustomerCare

Este método no puede entregar el mismo número a dos solicitudes diferentes, por lo que no obtendrá duplicados. Se ajustará automáticamente cuando llegue a 350. Puede crear y usar secuencias para sus otras agrupaciones. Mucho más simple que la otra solución y 100% confiable.

Una vez más, debo desaconsejar la creación de rangos de números mágicos para grupos específicos.