Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Clé primaire composite + clé étrangère

Oui, vous pouvez :

CREATE TABLE [dbo].[VariableMappings](
    [ParentSurvey_ID] [nvarchar](4) NOT NULL,
    [ReportingMonth] [nvarchar](6) NOT NULL,
    [VariableName] [nvarchar](400) NOT NULL,
    [Value] [int] NOT NULL,
  PRIMARY KEY (ParentSurvey_ID, ReportingMonth, VariableName),
  FOREIGN KEY (ParentSurvey_ID)
    REFERENCES dbo.SurveyMaster (ID)
) ;

Généralement sans rapport avec votre problème, mais ayant une PRIMARY KEY qui est si large (410 nvarchars) n'est pas la meilleure idée.