Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Comment éviter les valeurs en double dans SQL Server

Cela suppose que vous avez SQL Server 2012 (veuillez clarifier)

Pas une réponse complète mais je peux développer si vous le souhaitez.

Créez d'abord une séquence (exécutez-la une seule fois) :

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

obtenez maintenant la séquence suivante (exécutez-la aussi souvent que vous le souhaitez):

select next value for CustomerCare

Cette méthode ne peut pas distribuer le même numéro à deux demandes différentes, vous n'aurez donc pas de doublons. Il s'enroulera automatiquement lorsqu'il atteindra 350. Vous pouvez créer et utiliser des séquences pour vos autres groupements. Beaucoup plus simple que l'autre solution et 100% fiable.

Encore une fois, je dois déconseiller de créer des plages de nombres magiques pour des groupes spécifiques.