Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Композитен първичен ключ + външен ключ

Да, можете:

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)
) ;

Най-вече неподходящ за вашия проблем, но има PRIMARY KEY който е толкова широк (410 nvarchars) не е най-добрата идея.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Използвайте SET TEXTSIZE, за да ограничите връщаните данни за всеки ред в SQL Server

  2. Групиране на общия брой активни потребители за всяка от предходните 8 седмици

  3. SQL PIVOT с три колони

  4. NOLOCK по подразбиране ли е за операторите SELECT в SQL Server 2005?

  5. Кои версии на SQL Server поддържа LINQ to SQL?