2016-08-14 9 views
1

私は2つのテーブルを持っており、HEDEテーブルによる外部キー参照としてHEDE2カラムが必要です。SQL Server:複数のCASCADE操作

テーブル「HEDE2」の列レベルのFOREIGN KEY制約に複数のキーが指定されているため、2番目のテーブルが作成できません。

しかし、私はALTER TABLE HEDE2をFOREIGN KEYにしようとしましたが、私はそれを可能にしました。これがなぜ起こるのか誰も知っていますか?これはバグですか?

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 

答えて

0

あなたはCREATE TABLEバージョンでHedeID3 INT後にコンマ(,)を逃しています。

+0

ありがとうございました。出来た。 – cunay

関連する問題