从多个表中删除SQL

时间:2012-04-01 19:25:39

标签: sql-server stored-procedures

我试图找出如何从SQL Server中的多个表中删除。

我有一个表只包含一个主键和三个外键用于我要删除的三个表。另外三个表不包含任何外键。

存储过程有一个参数,即其中一个表的特定主键。我想从其他表WHERE tableID = @tableID中删除。表之间的约束设置为级联。

是否只能从所有四个表中删除该参数?

我尝试过内连接,外连接,temptable ..

Table      Table        Table      Table 
Pk         Pk(Fk1)      Pk(Fk2)    Pk(Fk3)
Fk1        Column       Column     Column
Fk2        Column       Column     Column
Fk3

我将表2 Pk作为参数。

1 个答案:

答案 0 :(得分:3)

如果您的外键是使用DELETE CASCADE创建的,一旦从主表中删除,外表上的所有相关行也将被删除。

看起来这就是它的配置方式,它不起作用吗?