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

Brug af en trigger til at simulere en anden identitetskolonne i SQL Server 2005

Bare en idé, hvis du har 2 "identitets"-kolonner, så ville de helt sikkert være 'synkroniserede' - hvis ikke nøjagtig den samme værdi, så ville afvige med en konstant værdi. Hvis ja, hvorfor så ikke tilføje kolonnen "anden identitet" som en COMPUTED kolonne , som opvejer den primære identitet? Eller er min logik mangelfuld her?

Rediger:I henhold til Martins kommentar, bemærk, at din beregning muligvis skal være N * id + C, hvor N er Increment og C offset / delta - undskyld min rustne matematik.

For eksempel:

ALTER TABLE MyTable ADD OtherIdentity AS Id * 2 + 1;

Rediger Bemærk, at for Sql 2012 og nyere, at du nu kan bruge en uafhængig sekvens for at oprette to eller flere uafhængigt stigende kolonner i samme tabel.

Bemærk :OP har redigeret det oprindelige krav om at inkludere genindvindingssekvenser (bemærk at identitetskolonner i SQL ikke genvinder brugte id'er, når de først er slettet).



  1. Hvordan EDB blev førende på Postgres-markedet

  2. Indsæt BIT-værdi i MySQL ved hjælp af PDO Prepared Statement

  3. Sql:vælg alle kurve, der indeholder et sæt bestemte varer

  4. #1064 - Du har en fejl i din SQL-syntaks; tjek den manual, der svarer til din MySQL-serverversion