2012-05-10 180 views
1

在爲數據導入編寫一些SQL語句時遇到錯誤。必須聲明表變量

因爲我在做數據端口,我需要聲明一些臨時表變量。

我在文件的開頭聲明瞭一個表變量,並對錶變量執行了一些操作(while循環,插入和更新)。後來在另一個while循環腳本的中間,如果我訪問此表變量中的腳本解析得到下述錯誤

必須聲明表變量@temptable

感謝你的幫助。

+3

是那裏的腳本文件中的GO語句?我相信抹去變數 –

+0

不,我沒有放置任何Go。 – Brainchild

+0

它是一個單一的腳本?你可以發佈腳本或某種形式的淡化版本的腳本嗎? –

回答

9

如果先前聲明的變量在已執行的SQL代碼塊中不再可用,則很可能調用了GO語句。

根據MSDN的規定,「局部變量的範圍是它聲明的批處理。」。

Go語句「將一批Transact-SQL語句的末尾指示給SQL Server實用程序。」

建議仔細檢查您的SQL代碼是否有任何錯誤的GO語句。

參考文獻:

DECLARE @local_variable(的Transact-SQL) http://msdn.microsoft.com/en-us/library/ms188927.aspx

GO(的Transact-SQL) http://msdn.microsoft.com/en-us/library/ms188037.aspx