SQL从多个表中删除行

时间:2016-05-25 20:01:45

标签: sql sql-server

我一直在尝试从多个表中删除相同的最高值,但是我在t1和t3上遇到语法错误。任何想法如何解决它?顺便说一句,我正在使用MS SQL(TSQL)

0x10

1 个答案:

答案 0 :(得分:0)

除了级联删除之外,您无法在T-SQL语句中使用一个语句从多​​个表中删除。

这是一个简单的解决方案:

DECLARE @MaxOrderID INT

BEGIN TRAN

SELECT @MaxOrderID = Max(OrderID) FROM Orders

DELETE FROM ProductOrders WHERE OrderID = @MaxOrderID
DELETE FROM Orders WHERE OrderID = @MaxOrderID

COMMIT TRAN