如何在SQLite上使用CTE和更新/删除?

前端之家收集整理的这篇文章主要介绍了如何在SQLite上使用CTE和更新/删除?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
sqlite现在有CTE,而 documentation表示可以将它与插入,更新和删除查询一起使用 – 但只提供了select语句的示例.

我可以通过insert-select弄清楚CTE如何应用于插入;但是如果没有from-clause,我们如何在更新或删除中使用它们呢?

CTE可用于子查询
WITH NewNames(ID,Name) AS (...)
UPDATE MyTable
SET Name = (SELECT Name
            FROM NewNames
            WHERE ID = MyTable.ID);

WITH IDsToDelete AS (...)
DELETE FROM MyTable
WHERE ID IN IDsToDelete;

猜你在找的Sqlite相关文章