我想在查询的顶部声明一个变量,以方便使用。之后,我会在其他一些命令运行后使用它。这就是我本能地写的:
Declare @DoThatThing varchar(1)
Set @DoThatThing='Y'
BlahBlahBlah (Updates, Inserts, Selects, etc. A few Go commands too)
if @DoThatThing='Y' begin
Do More Stuff
end
但是在if @DoThatThing='Y' begin
行上,我收到错误必须声明标量变量" @ DoThatThing" 。其他一些说明:
if
声明之上,那么它运行正常。这让我怀疑我的其他一个命令是以某种方式清除变量的内存。有谁知道为什么我的代码无法正常运行?
答案 0 :(得分:2)
如果您的脚本也有"一些GO命令"在其中,然后您在每次GO之后开始批处理。您的变量声明仅对当前批次有效。