加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

用两个(或更多)’@’符号声明SQL Server变量的后果是什么?

发布时间:2020-12-12 08:42:46 所属栏目:MsSql教程 来源:网络整理
导读:通常我会声明一个变量 declare @ConType int; 或者类似的东西. 最近在代码审查中,我遇到了一个使用双“@”的脱墨(例如,内置@@ rowcount),即 declare @@ConType int; 我注意到可以扼杀任何(合理)数量的“@”: declare @@@@ConType int; 而变量应该运行正常.所
通常我会声明一个变量
declare @ConType int;

或者类似的东西.

最近在代码审查中,我遇到了一个使用双“@”的脱墨(例如,内置@@ rowcount),即

declare @@ConType int;

我注意到可以扼杀任何(合理)数量的“@”:

declare @@@@ConType int;

而变量应该运行正常.所以,以下工作应该是:

declare @@@@ConType int;
set @@@@ConType = 1;
select @@@@ConType;

Obvoiusly,上面是有点愚蠢,但我的问题是,是否有这样的方式来声明变量有什么意义?有没有什么副作用?我们应该避免这样做吗?

解决方法

变量名称的第一个字符必须是一个at符号(‘@’).任何在之后的标志没有任何特别的意义,被视为像任何其他人物一样.

但是,您应该避免声明以符号(@@)开头的变量,因为用MSDN表示:

Some Transact-SQL functions have names that start with double at signs (@@). To avoid confusion with these functions,you should not use names that start with @@.

当然,这意味着也不能使用在标志处以三个或更多开头的变量名.

我猜,如果第二个字符不是一个标志,那么在变量名中稍后使用的符号并不完全错误,但是它看起来很混乱,所以这可能不是一个好主意.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读