2017-05-08 3 views
-1

J'extrais des données d'un système qui utilise uniqueidentifier comme type de champ pour ses clés primaires.Créer une clé persistante en utilisant deux ID uniques comme source

Sur le système dont je suis en train d'extraire, j'ai reçu un accès à une seule table dérivée. Cette table a été créée en joignant une table à une table un-à-plusieurs, ce qui m'a obligé à utiliser deux de ces colonnes uniquesidentifier pour obtenir l'unicité.

Y a-t-il un moyen pour moi de créer une clé persistante simple en utilisant ces deux colonnes?

La seule idée que j'ai en ce moment est de créer une colonne d'identité sur ma table, et d'augmenter toutes les extractions futures (quotidiennes) dans ma table.

Existe-t-il une meilleure méthode que celle-ci?

Répondre

0

Vous pouvez ajouter ce que l'on appelle une «clé composite».

ALTER TABLE dbo.yourtablename 
ADD CONSTRAINT uq_yourtablename UNIQUE(column1,column2); 
+0

Est-ce que cela ajoutera une nouvelle colonne à ma table? – Matt

+0

Non, cela ajoutera simplement une contrainte à la table qui confirme que chaque ligne est unique - basée sur une combinaison de "GUID" dans les colonnes d'identificateur unique. Avant d'exécuter l'instruction, remplacez "column1" par le nom de la première colonne unique-identifier et "column2" par le nom de la seconde. Si la table a déjà des doublons, la contrainte ne sera pas configurée sur la table tant que vous ne l'aurez pas dédoublée. Une fois que vous avez configuré la contrainte, la table ne permettra pas le chargement des doublons. – russ