Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 2012 SQL Server:多级联操作_Sql Server 2012_Cascade - Fatal编程技术网

Sql server 2012 SQL Server:多级联操作

Sql server 2012 SQL Server:多级联操作,sql-server-2012,cascade,Sql Server 2012,Cascade,我有两个表,我希望HEDE2列作为HEDE表的外键引用。对于创建第二个表,它将不允许,因为它有警告: 在列级外键约束表“HEDE2”中指定了多个键 但当我试图为外键更改表HEDE2时,它允许我这样做。有人知道为什么会这样吗。这是虫子吗 CREATE TABLE cascde.HEDE ( HedeID INT, HedeID2 INT, HedeID3 INT CONSTRAINT PK_HEDE PRIMARY KEY (HedeID, He

我有两个表,我希望HEDE2列作为HEDE表的外键引用。对于创建第二个表,它将不允许,因为它有警告:

在列级外键约束表“HEDE2”中指定了多个键

但当我试图
为外键更改表HEDE2
时,它允许我这样做。有人知道为什么会这样吗。这是虫子吗

CREATE TABLE cascde.HEDE
(
    HedeID INT,
    HedeID2 INT,
    HedeID3 INT

    CONSTRAINT PK_HEDE 
        PRIMARY KEY (HedeID, HedeID2, HedeID3)
)
GO

CREATE TABLE HEDE2
(
    Hede2ID INT PRIMARY KEY IDENTITY(1,1) ,
    HedeID INT,
    HedeID2 INT,
    HedeID3 INT

    CONSTRAINT FK_HedeID 
        FOREIGN KEY (HedeID, Hede2ID, HedeID3)
        REFERENCES cascde.HEDE (HedeID, HedeID2, HedeID3)
           ON UPDATE NO ACTION
           ON DELETE NO ACTION
)
更改表HEDE 2中的外键。这使我能够做到:

ALTER TABLE cascde.HEDE2 
  ADD CONSTRAINT FK_HEDE 
      FOREIGN KEY(HedeID, HedeID2, HedeID3)
      REFERENCES cascde.HEDE (HedeID, HedeID2, HedeID3) 
          ON UPDATE NO ACTION 
          ON DELETE NO ACTION 
GO
创建表
版本中,在
HedeID3 INT
之后缺少逗号(
)。

创建表
版本中,在
HedeID3 INT
之后缺少逗号(