1

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

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

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

必须声明表变量@temptable

感谢你的帮助。

4

1 回答 1

9

如果先前声明的变量在已执行的 SQL 代码块中不再可用,则很可能调用了 GO 语句。

根据 MSDN,“局部变量的范围是声明它的批次。”。

Go 语句“向 SQL Server 实用程序发出一批 Transact-SQL 语句结束的信号。”

建议仔细检查您的 SQL 代码中是否存在任何错误的 GO 语句。

参考:

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

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

于 2012-05-10T18:18:16.053 回答