我想知道這是否可能。我有一個使用WITH
子句一些彙總數據應用到SELECT
查詢像這樣一個現有的查詢:(大型簡體)SQL Server - 在INSERT語句中使用WITH子句
;WITH alias (y,z)
AS
(
SELECT y,z FROM tableb
)
SELECT y, z FROM alias
我現在想INSERT
這個查詢的結果到另一個表。
我曾嘗試以下:
INSERT INTO tablea(a,b)
;WITH alias (y,z)
AS
(
SELECT y,z FROM tableb
)
SELECT y, z FROM alias
,但我得到的錯誤:
Incorrect syntax near ';'.
所以我嘗試沒有分號,但得到的錯誤:
Incorrect syntax near the keyword 'WITH'.
Incorrect syntax near the keyword 'with'. If this statement is a common table expression or an xmlnamespaces clause, the previous statement must be terminated with a semicolon.
是我試圖用不同的語法來做到這一點?
分號位於語句的**結尾**處。把它放在前面是一個壞習慣,你應該習慣用分號正確地終止每個語句。 – 2013-03-22 15:40:28
你是否檢查過'INSERT'語句的[documentation](http://msdn.microsoft.com/en-us/library/ms174335(v = sql.110).aspx)?它表明CTE在'INSERT'之前,並且包括使用CTE的一個例子。 – Pondlife 2013-03-22 16:26:24