必须声明表变量

时间:2012-05-10 17:43:57

标签: sql-server tsql data-import

在为数据导入编写一些SQL语句时遇到错误。

当我在做数据端口时,我需要声明一些临时表变量。

我在文件的开头声明了一个表变量,并对表变量执行了一些操作(循环,插入和更新)。稍后在另一个while循环的脚本中间,如果我访问此表变量,脚本解析将给出以下错误

  

必须声明表变量@temptable

感谢您的帮助。

1 个答案:

答案 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