SQL Server - 删除(x)行数取决于WHERE caluse

Cre*_*er7 0 sql sql-server

我有一个场景,全天都将记录设置为删除(BOOLEAN VALUE),但实际上并未删除.这些值的列表显示在视图中(让我们称之为ViewToDelete),例如:

ID      DELETE
--------------
1         1
4         1
5         1
Run Code Online (Sandbox Code Playgroud)

在一天结束时,我希望能够一次性删除此视图中显示的这些值,是否可以实现,如果是这样,如何实现?

DELETE FROM mytablename 
WHERE ID = ViewToDelete.ID 

--THIS WOULD WORK IF THERE WAS 1 VALUE, BUT FOR MULTIPLE VALUES
--IT RETURNS AN ERROR AS I WOULD EXPECT
Run Code Online (Sandbox Code Playgroud)

Siy*_*ual 7

您可以通过JOIN视图执行此操作:

Delete  M
From    MyTableName     M
Join    ViewToDelete    V   On  V.Id = M.Id
                            And V.Delete = 1
Run Code Online (Sandbox Code Playgroud)