数据库
首页 > 数据库> > Sql Server 2008 中declare的 @用法

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