284 votes

Contrainte unique sur plusieurs colonnes

   CREATE TABLE [dbo].[user](
    [userID] [int] IDENTITY(1,1) NOT NULL,
    [fcode] [int] NULL,
    [scode] [int] NULL,
    [dcode] [int] NULL,
    [name] [nvarchar](50) NULL,
    [address] [nvarchar](50) NULL,
 CONSTRAINT [PK_user_1] PRIMARY KEY CLUSTERED 
(
    [userID] ASC
)
) ON [PRIMARY]

GO
 

Comment ajouter une contrainte unique pour les colonnes fcode, scode, dcode avec t-sql et / ou management studio ? fcode, scode, dcode doivent être uniques ensemble.

476voto

marc_s Points 321990

Si vous avez déjà votre table dans la base de données, vous pouvez ajouter une contrainte unique ultérieurement:

 ALTER TABLE dbo.User
  ADD CONSTRAINT ucCodes UNIQUE (fcode, scode, dcode)
 

320voto

devmake Points 1900
CREATE TABLE [dbo].[user](
    [userID] [int] IDENTITY(1,1) NOT NULL,
    [fcode] [int] NULL,
    [scode] [int] NULL,
    [dcode] [int] NULL,
    [name] [nvarchar](50) NULL,
    [address] [nvarchar](50) NULL,
 CONSTRAINT [PK_user_1] PRIMARY KEY CLUSTERED 
(
    [userID] ASC
),
CONSTRAINT [UQ_codes] UNIQUE NONCLUSTERED
(
    [fcode], [scode], [dcode]
)
) ON [PRIMARY]

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X