为什么DELETE FROM ... FROM ...没有错误?

时间:2015-10-09 15:13:50

标签: sql sql-server

存储过程中的这个位显然是有效的sql:

DELETE TOP (@MaxRecords)
FROM Table
FROM Table B
INNER JOIN Table2 R ON B.fk = R.pk
WHERE R.Value < @DecVariable;

如何将两个FROM语句放在一起但仍然有效?

1 个答案:

答案 0 :(得分:3)

首先,删除语法中的TOP表示它是 SQL Server

这是完美有效的查询,请参阅DELETE

  

发件人

     

可在DELETE关键字与目标table_or_view_name或rowset_function_limited之间使用的可选关键字。

     

FROM table_source

     

指定其他FROM子句。 DELETE的Transact-SQL扩展允许指定和删除数据   第一个FROM子句中表的相应行。

     

可以使用此扩展指定连接,而不是WHERE子句中的子查询来标识要删除的行。

删除: enter image description here

<强>对象: enter image description here