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 的值

执行的结果:

Sql Server 2008 中declare的 @用法

 

局部变量只是局部有效,比如在当前存储过程内或在当前进程内,离开当前的执行过程,局部变量就会被释放了。

 

(2)全局变量:

全局变量实际上是获取数据库层面的一些参数,前面有两个@@,在平时使用过程中其实出现的频率不高,最常用的就两个:@@ERROR和@@ROWCOUNT 。

@@ERROR返回最后执行的sql是否报错,如果报错,这个变量就不为0 ,这边变量经常用来判断上一句是否执行成功。而@@ROWCOUNT则返回上一句执行所影响的行数,常用来判断INSERT 是否成功。

Sql Server 2008 中declare的 @用法

 

 

————————————————
版权声明:本文为CSDN博主「weixin_39846089」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_39846089/article/details/111385367

 

搜索

复制

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/database/281903.html

(0)
上一篇 2022年8月24日 00:31
下一篇 2022年8月24日 00:31

相关推荐

发表回复

登录后才能评论