我有以下表定義:如何實現「有條件的外鍵」限制?
CREATE TABLE X (
A SOMETYPE NOT NULL,
B SOMETYPE NOT NULL,
C SOMETYPE NULL,
PRIMARY KEY (A,B),
FOREIGN KEY (A) REFERENCES Y (A)
);
我想補充以下約束:如果C IS NOT NULL
,然後FOREIGN KEY (A,C) REFERENCES X (A,B)
。我該怎麼做(如果可能,不用觸發器)?
我正在使用SQL Server 2008 R2,但這應該與問題無關。
因此,有些情況下C將爲空,但A不會? – RQDQ
是的。 A是主鍵的一部分,我不是可空主鍵的粉絲。 WRT C,C大部分時間都是空的。 – pyon