阅读量:117
在 SQL Server 中,外键用于确保数据在表之间的引用完整性
- SET NULL:当删除或更新父表中的记录时,子表中的外键列将被设置为 NULL。这是默认的级联操作。
CREATE TABLE ChildTable (
ChildID INT PRIMARY KEY,
ParentID INT,
FOREIGN KEY (ParentID) REFERENCES ParentTable(ParentID) ON DELETE SET NULL
);
- SET DEFAULT:当删除或更新父表中的记录时,子表中的外键列将被设置为其默认值。
CREATE TABLE ChildTable (
ChildID INT PRIMARY KEY,
ParentID INT,
FOREIGN KEY (ParentID) REFERENCES ParentTable(ParentID) ON DELETE SET DEFAULT
);
- CASCADE:当删除或更新父表中的记录时,子表中的相关记录也将被删除或更新。
CREATE TABLE ChildTable (
ChildID INT PRIMARY KEY,
ParentID INT,
FOREIGN KEY (ParentID) REFERENCES ParentTable(ParentID) ON DELETE CASCADE
);
- NO ACTION:当删除或更新父表中的记录时,子表中的外键列不会发生变化。这可以防止意外删除或更新子表中的数据。
CREATE TABLE ChildTable (
ChildID INT PRIMARY KEY,
ParentID INT,
FOREIGN KEY (ParentID) REFERENCES ParentTable(ParentID) ON DELETE NO ACTION
);
在选择级联操作时,请根据您的应用程序需求和数据完整性要求来决定最合适的操作。