我们可以在SQL Server中编写一个查询来级联删除吗?

时间:2017-10-17 04:52:17

标签: sql sql-server

我有两个表,EmployeeAddress。我想删除Address表中的所有员工及其相关地址。我们可以写一个查询吗?

对于以下查询,我们可以使用CASCADE关键字吗?

DELETE FROM Employee

2 个答案:

答案 0 :(得分:0)

您可以在删除级联上启用set。像这个url修改你的表sql:

Solution 1

答案 1 :(得分:0)

如果您没有外键,最简单的方法是使用CTE或视图

with MyCTE as ( select T1.ID asT1ID,T2.ID as T2ID from T1 join T2 on T1.id = T2.id) 
Delete MyCTE where T1ID = ???

Create view MyView 
as 
select T1.ID asT1ID,T2.ID as T2ID from T1 join T2 on T1.id = T2.id

delete MyView where T1ID = ??