Sql server 外键约束

Sql server 外键约束,sql-server,tsql,Sql Server,Tsql,我有一个包含以下列的表 ID int PK Name nvarchar(50) NotNull FID int FK reference to ID ID Name PK 1 A Null 2 B Null 3 C 1 4 D 1 5 E 1 6 F 2 因此,主键作为主键包含在表中。我想这样做,如果主键被删除,包含主键的行作为外键被自动删除。(示例:删除ID 1行时,我希望自动删除ID 3、4、5行。)。如何使主

我有一个包含以下列的表

ID int PK
Name nvarchar(50) NotNull
FID int FK reference to ID 

ID Name   PK
1  A      Null
2  B      Null
3  C      1
4  D      1
5  E      1
6  F      2
因此,主键作为主键包含在表中。我想这样做,如果主键被删除,包含主键的行作为外键被自动删除。(示例:删除ID 1行时,我希望自动删除ID 3、4、5行。)。如何使主键作为外键包含在表中?我怎样才能做到这一点。谢谢。

您需要实现一个执行“级联删除”的“触发器”

这里有一个很好的链接:

以下是一些其他选择:

下面是Microsoft关于“级联引用完整性约束”文档的链接:

您需要实现一个执行“级联删除”的“触发器”

这里有一个很好的链接:

以下是一些其他选择:

下面是Microsoft关于“级联引用完整性约束”文档的链接:


注意:在Microsoft SQL中,不允许对自引用表进行级联删除。必须使用触发器、创建存储过程或处理来自调用应用程序的级联删除。这方面的一个例子是,一个表的ID为identity,ParentID与同一个表中的ID有关系


注意:在Microsoft SQL中,不允许对自引用表进行级联删除。必须使用触发器、创建存储过程或处理来自调用应用程序的级联删除。这方面的一个例子是,一个表的ID为identity,ParentID与同一个表中的ID有关系


唯一的方法是添加触发器。有关详细信息,请参阅以下链接


唯一的方法是添加触发器。有关详细信息,请参阅以下链接

CREATE TRIGGER test_trig

ON dbo.Table_1

FOR DELETE

AS
BEGIN
delete a from dbo.Table_2 a
JOIN
deleted d
ON a.joincol = d.joincol

END