如何检查变量是否已经声明(T-SQL)?

时间:2011-04-04 16:07:46

标签: tsql

写作时

DECLARE @x INT

有没有办法检查变量@x是否已经被声明?

2 个答案:

答案 0 :(得分:15)

没有。
tsql中的变量声明不遵循代码路径,并且可能像其他语言一样使用范围。

此代码显示@xx存在但未分配,即使声明从未执行过。

if 1 = 0 
begin
  declare @xx int = 10
end
else
begin
  declare @yy int = 20
end

print coalesce(@xx, -100)
print coalesce(@yy, -200)

结果

-100
20

答案 1 :(得分:0)

如果您尝试访问尚未定义的变量,T-SQL脚本将向您发出错误,告知您未定义变量。

  

Msg 137,Level 15,State 2,Line 5   必须声明标量变量“@x”。