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



 

posted @   yinghualeihenmei  阅读(428)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· Obsidian + DeepSeek:免费 AI 助力你的知识管理,让你的笔记飞起来!
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示