用两个(或更多)’@’符号声明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表示:
当然,这意味着也不能使用在标志处以三个或更多开头的变量名. 我猜,如果第二个字符不是一个标志,那么在变量名中稍后使用的符号并不完全错误,但是它看起来很混乱,所以这可能不是一个好主意. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |