J'ai une table avec ID (identité) et XID (int) qui est ma colonne auto-incrémentation personnalisée. J'utilise un trigger au lieu d'insert pour maintenir XID, mais je reçois des doublons.maintien d'une colonne d'incrémentation automatique personnalisée
tableau
XTABLE (identité ID, XID int)
déclenchement - au lieu d'insert
insert into [xtable] (XID)
select [x].[NextavailableID]
from inserted [i]
cross apply
(
select coalesce(max([t].[XID]), 0) + 1 [NextavailableID]
from [xtable] [t]
) [x];
En supposant inséré = 1 ligne.
Ce déclencheur n'empêche pas les doublons dans la colonne XID. Des idées sur la façon de le changer?
Pourquoi avez-vous besoin d'une deuxième colonne d'incrémentation automatique? Est-ce un exemple simplifié? Il pourrait y avoir une solution alternative plus facile à maintenir. – GarethD
@GarethD - Ceci est un exemple simplifié. Chaque entreprise doit avoir un identifiant unique. Donc xtable aurait aussi un CompanyID fk – Aducci
Quel SQL Server? 2008 [R2], 2012, 2014? –