sql >> Databasteknik >  >> RDS >> Sqlserver

Hur man undviker dubbletter av värden i SQL Server

Detta förutsätter att du har SQL Server 2012 (vänligen förtydliga)

Inte ett fullständigt svar men jag kan utöka om du vill.

Skapa först en sekvens (kör bara den här en gång):

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

hämta nu nästa sekvens från den (kör detta så ofta du vill):

select next value for CustomerCare

Den här metoden kan inte dela ut samma nummer till två olika förfrågningar så att du inte får dubbletter. Den lindas automatiskt när den når 350. Du kan skapa och använda sekvenser för dina andra grupperingar. Mycket enklare än den andra lösningen och 100 % tillförlitlig.

Återigen måste jag avråda från att skapa magiska nummerintervall för specifika grupper.



  1. Varför används inte indexet på s för sortering här?

  2. PL/SQL:konvertera explicit markör till ref markör?

  3. Dela upp poster i två kolumner

  4. while($row =mysql_fetch_assoc($result)) - Hur går jag till $row?