【问题标题】:Must declare the table variable必须声明表变量
【发布时间】:2012-05-19 08:21:45
【问题描述】:

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

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

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

必须声明表变量@temptable

感谢您的帮助。

【问题讨论】:

  • 脚本文件中是否有GO语句?我相信这会消除变量
  • 是单个脚本吗?您可以发布脚本或脚本的某种形式的淡化版本吗?
  • 我的错,中间有 Go。谢谢威尔。

标签: sql-server tsql data-import


【解决方案1】:

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

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

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

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

参考资料:

声明@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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多