2014-02-17 1 views
6

이제는 SQLite에 CTE가 있으며 documentation에는 삽입, 업데이트 및 삭제 쿼리와 함께 사용할 수 있다고 나와 있지만 select 문에 대한 예제 만 제공합니다.SQLite에서 CTE 's를 update/delete와 함께 사용하는 방법?

insert-select를 통해 CTE가 삽입에 적용되는 방법을 파악할 수 있습니다. 그러나 from 절이없는 곳에서 어떻게 업데이트 또는 삭제에서 사용할 수 있습니까?

답변

5

열팽창 계수는 하위 쿼리에서 사용할 수 있습니다

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; 
관련 문제