2014-10-21 4 views
4

Я не использовал SQLite раньше и не могу понять синтаксис, у меня это работает в SQL Server, если это помогает.SQLITE Результаты запроса в таблицу temp

Мне нужно поставить результаты в таблицу темп, чтобы я мог их повторно использовать.

// SQL Server

WITH FT_CTE AS 
(
SELECT pID, cID FROM brFTNode_Children 
WHERE pID = 1 
UNION ALL 
    SELECT e.pID, e.cID FROM brFTNode_Children e 
    INNER JOIN FT_CTE ftCTE on (ftCTE.cID = e.pID) 
) 
SELECT * INTO #ParentChild FROM FT_CTE; 

// SQLite попробовать

WITH FT_CTE AS 
(
SELECT pID, cID FROM brFTNode_Children 
WHERE pID = 1 
UNION ALL 
    SELECT e.pID, e.cID FROM brFTNode_Children e 
    INNER JOIN FT_CTE ftCTE on (ftCTE.cID = e.pID) 
) 
CREATE TEMPORARY TABLE ParentChild as SELECT * FROM FT_CTE; 

Я получаю Error near "CREATE": syntax error

ответ

10

В CREATE TABLE statement не позволяет КТР, но ВЫБРАТЬ делает:

CREATE TEMPORARY TABLE ParentChild AS 
WITH FT_CTE AS (
    SELECT pID, cID FROM brFTNode_Children 
    WHERE pID = 1 
    UNION ALL 
    SELECT e.pID, e.cID FROM brFTNode_Children e 
    INNER JOIN FT_CTE ftCTE ON (ftCTE.cID = e.pID) 
) 
SELECT * FROM FT_CTE; 
+0

Спасибо на отлично работает. – runfastman