繁体   English   中英

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

[英]How to check if a variable is already declared (T-SQL)?

当我写作

DECLARE @x INT

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

没有。
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

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

消息137,级别15,状态2,行5必须声明标量变量“@x”。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM