在sqlite中返回已删除的行

Ken*_*tov 6 sql sqlite

SELECT * FROM TABLE WHERE clause然后这样执行两个查询效率不高DELETE * FROM TABLE WHERE clause

所以我想做 DELETE查询并返回已删除的行(一个查询)。

我试图做:

DELETE OUTPUT DELETED.*
FROM table
WHERE clause
Run Code Online (Sandbox Code Playgroud)

但我有一个错误:

SQLite exception: near "OUTPUT": syntax error
Run Code Online (Sandbox Code Playgroud)

如何正确制作,或者可能有另一种替代方法来返回已删除的行?

CL.*_*CL. 6

DELETE语句没有输出条款。

执行SELECT后,所有重要数据都在缓存中,因此DELETE会快速运行。

并且因为 SELECT 加 DELETE 是唯一的方法,所以它是最有效的方法。


ger*_*ico 6

您可以使用returning子句返回删除的记录

delete from myTable returning *
Run Code Online (Sandbox Code Playgroud)