变量分为局部变量和全局变量。
局部变量
- 以 @ 符号作为前缀
- 先声明再赋值。
declare @str varchar(20)
set @str = 'hello' -- 也可以使用 select @str = 'hello'
print @str
其中,set 和 select 赋值的区别:
-
set:赋给变量指定的值。
-
select:一般用于从表中查询出的数据,查询记录如果有多条,将最后一条记录赋值给变量。
exp:
select @a = 字段名 from 表名 -- 当前表最后一行某个字段值给 @a
全局变量
1、以 @@ 为前缀;
2、由系统进行定义和维护,只读;
- @@ERROR:返回执行的上一个语句的错误号;
- @@IDNETITY:返回最后插入的标识值;
- @@MAX_CONNECT IONS:返回允许同时进行的最大用户连接数;
- @@ROWCOUNT:返回受上一语句影响的行数;
- @@SERVERNAME:返回运行 sql server 时本地服务器的名称;
- @@SERVICENAME:返回 sql server 正在其下运行的注册表项的名称;
- @@TRANCOUNT:返回当前连接的活动事务数;
- @@LOCK_TIMEOUT:返回当前会话的当前锁定超时设置(毫秒);
网友评论