我有以下查詢:如果使用「與」上插入語句
;WITH tbldata as (
SELECT a, b FROM Some_Table
)
INSERT INTO Target_Table(column1, column2)
SELECT a,b FROM tbldata
我想作插入條件:
;WITH tbldata as (
SELECT a, b FROM Some_Table
)
IF @insert = 1
INSERT INTO Target_Table(column1, column2) SELECT a,b FROM tbldata
ELSE
SELECT a,b FROM tbldata
,但我得到一個錯誤,指出:Incorrect syntax near the keyword 'IF'.
我該如何解決這個問題?我一直在思考沿線
;WITH tbldata as (
SELECT a, b FROM Some_Table
)
INSERT INTO TEMP_Table(column1, column2) SELECT a,b FROM tbldata
--effectively dumping it in a temptable before deciding whether to insert or view it
IF @insert = 1
INSERT INTO Target_Table(column1, column2) SELECT a,b FROM TEMP_Table
ELSE
SELECT a,b FROM tbldata
但不知何故,看起來'髒'給我。建議?還是我監督着什麼?
我很想聽聽你的建議!
你的錯誤是因爲這樣的:一個CTE後面必須跟一個SELECT,INSERT,UPDATE或DELETE語句引用一些或所有的CTE列。 http://msdn.microsoft.com/en-us/library/ms175972.aspx – Ric
我結束了使用內存可溫度。骯髒,但伎倆。感謝您爲我澄清這一點! – Henrov