Sql Server 2008 中declare的 @用法
作者:互联网
https://blog.csdn.net/weixin_39846089/article/details/111385367
变量可分为局部变量和全局变量,局部变量需要预先定义,前面以一个@开头,常于declare联用,全局变量可以看作是系统变量,不用定义可以直接调用,前面以两个@开头。
(1)局部变量:定义方式 declare @变量名 数据类型
变量赋值:set 或 select
如 set @i =1 这个时候 @i 里的值就是1 了
还有 select @i= count(1) from table A 类似这样的应用。
执行 select @i 则会展示@i 的值。
变量的使用:
a) 作为查询条件使用,当@i被定义并赋值后,可以放到where条件里使用
如 select * from tableB where xh =@i ;
b) 作为判断条件使用,其实用法和常量类似,如:
if @i >1
begin
........
end
变量的使用:
a) 作为查询条件使用,当@i被定义并赋值后,可以放到where条件里使用
如 select * from tableB where xh =@i ;
b) 作为判断条件使用,其实用法和常量类似,如:
if @i >1
begin
........
end
代码段1 :
DECLARE @i INT ----定义变量@i
SELECT @i -----先看下@i的值,此时没有赋值的情况下默认是null
SET @i = 1 ----将@i 赋值为1
SELECT @i ----再次查看@i 的值
执行的结果:
局部变量只是局部有效,比如在当前存储过程内或在当前进程内,离开当前的执行过程,局部变量就会被释放了。
(2)全局变量:
全局变量实际上是获取数据库层面的一些参数,前面有两个@@,在平时使用过程中其实出现的频率不高,最常用的就两个:@@ERROR和@@ROWCOUNT 。
@@ERROR返回最后执行的sql是否报错,如果报错,这个变量就不为0 ,这边变量经常用来判断上一句是否执行成功。而@@ROWCOUNT则返回上一句执行所影响的行数,常用来判断INSERT 是否成功。
————————————————
版权声明:本文为CSDN博主「weixin_39846089」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_39846089/article/details/111385367
搜索
复制
标签:变量,局部变量,Server,2008,全局变量,where,declare,select,赋值 来源: https://www.cnblogs.com/Dongmy/p/16616978.html