sql >> Database teknologi >  >> RDS >> Sqlserver

Sådan undgår du duplikerede værdier i SQL Server

Dette forudsætter, at du har SQL Server 2012 (forklar venligst)

Ikke et fuldstændigt svar, men jeg kan udvide, hvis du ønsker det.

Opret først en sekvens (kun kør denne én gang):

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

få nu den næste sekvens fra den (kør denne så ofte du vil):

select next value for CustomerCare

Denne metode kan ikke uddele det samme nummer til to forskellige anmodninger, så du vil ikke få dubletter. Det vil automatisk ombrydes, når det når 350. Du kan oprette og bruge sekvenser til dine andre grupperinger. Meget enklere end den anden løsning og 100 % pålidelig.

Igen er jeg nødt til at fraråde at oprette magiske talintervaller for specifikke grupper.



  1. MySQL-bruger angivet som definerer eksisterer ikke

  2. Vælg i et mange-til-mange forhold i MySQL

  3. codeigniter aktiv post indlejret forespørgsel

  4. Liste over talformatelementer i Oracle