读书人

SQL中@@符号.该如何处理

发布时间: 2013-07-09 09:50:47 作者: rapoo

SQL中@@符号.
以前接触的SQL太过肤浅了...
这几天看一下书.
发现好多函数有"@@"符号.
貌似,有@@是 存储过程用的是吧?
因为我查资料也没有说@@是什么意思.我只是猜的...@是可以带参数...@@是不是系统的函数?

[解决办法]
一般是系统函数。比如@@row可以捕获上一个查询内容的行数
[解决办法]
不一定是存储过程,好比你建立表的时候,需要用到自增列,这时候你可以声明一个 @@Identity 函数来标识说此列为自增列,应该是系统函数的意思吧
[解决办法]
系统函数,例如@@identity就是获取最后一个id数据
[解决办法]
微软文档说:
Some Transact-SQL functions have names that start with double at signs (@@). To avoid confusion with these functions, it is recommended that you do not use names that start with @@.

换言之,@@开头的函数仅仅是为了避免和用户定义的函数混淆,作为保留符号。
[解决办法]
类似的,微软的C/C++库中里面有很多 __ (双下划线)定义的变量和宏。也是一样的目的。
如果不使用特别符号作为前导,那么就很容易无意地和别的命名重复。
[解决办法]
在存储过程和SQL中都可以直接使用,是系统全局变量,为了和用户自定义变量区分,所以用两个@。

读书人网 >C#

热点推荐