Preferibilmente mi piacerebbe sapere come farlo utilizzando l'interfaccia di SQL Server Management Studio ma non è completamente necessario. Se si ha semplicemente uno script per aggiungerne uno dopo che è stato creato un tavolo, ciò andrebbe bene.Come creare un vincolo univoco composito in SQL Server 2005
9
A
risposta
14
In SQL Server Management Studio
- goto Esplora oggetti
- Scegli il tuo tavolo e aprire il suo progettista (non ricordo come si chiamava nel 2005 -? Modificare la tabella o qualcosa)
- nella finestra di progettazione, seleziona gli strumenti "Gestisci indici e chiavi" dalla barra degli strumenti (la tabella con la piccola chiave)
- , aggiungi un nuovo indice e assegna un nome, fai clic sulla sua impostazione "Unica"
alt text http://i35.tinypic.com/s61t7d.png
- aprire l'elenco delle colonne nella definizione dell'indice e aggiungi le colonne che si desidera thave nell'indice
alt text http://i34.tinypic.com/nysqjd.png
Questo è tutto! :)
26
Prova questo:
ALTER TABLE dbo.YourTableName
ADD CONSTRAINT
ConstraintName UNIQUE NONCLUSTERED
(
Column01,
Column02,
Column03
)
Io uso i nomi commerciali per i vincoli in modo che se viene violata e un'eccezione sgorga, ottengo "solo un reparto per ogni violazione dei dipendenti" nel mio messaggio di errore, piuttosto che "Violazione di ConstraintXXX".
Freddo. Sembra strano che questo sia nella sezione degli indici invece della sezione dei vincoli –
Un vincolo univoco è fondamentalmente gestito da un indice unico - ecco perché. –