繁体   English   中英

SQL Server 2008中的内部联接删除?

[英]Inner Join Delete in SQL Server 2008?

我试图加入2个表并对其进行删除。

DELETE TableA 
FROM TableA a
INNER JOIN
TableB b on b.Id = a.Id
where title like 'test' 

以上就是我想出来的,但是我一直在努力

DELETE语句与REFERENCE约束冲突

我想如果我将两个表合并在一起,那么我将同时删除两个表,并且没有任何约束会发生冲突。

我在查询中遗漏了什么吗?

尝试这个:

DELETE TableA 
FROM TableA 
INNER JOIN
TableB b on b.Id = TableA.Id
where TableA.title like 'test'

首先尝试删除具有该标题条件的TableB然后删除TableA那些记录

DELETE FROM TableB
WHERE Id IN 
( SELECT Id FROM TableA WHERE title = 'test')

DELETE FROM TableA
WHERE title = 'test'

当您在TableB仍有引用时,引用约束阻止您删除TableA

我会用级联约束一个接一个地删除。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM