博主今天第一次做相关实验,一直没有弄懂@的意思,百度了一下搜到了答案。

以下内容均为转载:


当然有区别了,而且区别很大。

如果写成
DECLARE name int
会有语法错误,错误信息是:
INT 不是可以识别的CURSOR(游标)选项

@加上后面的内容,说明这个是一个参数,如果不加的话,你怎么用参数呢,
比如你本来是想给参数赋值,结果写成这样:
SELECT a=column_name from .....
这不成了改列名了吗,a是表中原来的列名,column_name是查询结果表中的列名。
要是写成:
SELECT @a=column_name FROM ...
这就是给一个参数赋值。当然参数要前面定义好

还有就是@@这样开头的都是系统定义的一些存储过程,我们不能定义以@@开头的参数。

declare @a int,@b nvarcher(10)----定义变量

set @a=54,
set @b='Good luck!'
或者用SELECT都可以进行赋值。
					
Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐