执行SELECT * FROM TABLE WHERE clause
和DELETE * FROM TABLE WHERE clause
等两个查询效率不高。
所以我想进行DELETE
查询并返回已删除的行(一个查询)。
我试着这样做:
DELETE OUTPUT DELETED.*
FROM table
WHERE clause
但我有一个错误:
SQLite exception: near "OUTPUT": syntax error
如何正确使用或者还有另一种方法可以返回已删除的行?
答案 0 :(得分:3)
DELETE statement没有OUTPUT子句。
执行SELECT后,所有重要数据都在缓存中,因此DELETE将快速运行。
因为SELECT + DELETE是唯一的方式,所以它是最有效的方式。