在为数据导入编写一些SQL语句时遇到错误。
当我在做数据端口时,我需要声明一些临时表变量。
我在文件的开头声明了一个表变量,并对表变量执行了一些操作(循环,插入和更新)。稍后在另一个while循环的脚本中间,如果我访问此表变量,脚本解析将给出以下错误
必须声明表变量@temptable
感谢您的帮助。
答案 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