2014-04-09 66 views
0

的SQL代碼我有一個光標,我需要:上的SQL Server遊標錯誤「的」

declare @myCursor cursor for 
    SELECT item_one, item_2, lastUpdateTime, content_value FROM #MyTable; 

,我發現了錯誤:

Msg 156, Level 15, State 1, Line 44 Incorrect syntax near the keyword 'for'.

我在做什麼錯誤?

我正在使用SQL Server 2008 R2。

+0

你就知道這是一個貧窮的做法是使用遊標時,您可以使用基於集合的邏輯這是有可能的大部分時間。如果您正在進行任何插入/更新或刪除操作,請不要使用遊標。 – HLGEM

+0

@HLGEM我明白這是一種不好的做法,但是我不得不用其他方式來處理這些內容。 – shadonar

回答

1

光標不使用@前綴像其他變量:

declare myCursor cursor for 
    SELECT item_one, item_2, lastUpdateTime, content_value FROM #MyTable; 
+0

但是當我刪除'@'前綴我得到這個錯誤:'消息137,級別15,狀態2,行171必須聲明標量變量「@target_cursor」.' – shadonar

+1

@shadonar這是一個錯誤與您的一部分光標不顯示,你可以將整個光標添加到你的問題?如果'@ target_cursor'是你的光標的名字,只要確保更改名稱的所有實例以排除'@'。 –

+0

沒關係,這個問題解決了,我剛纔碰巧有另一個使用@myCursor的...抱歉,感謝您的幫助! – shadonar