ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

Sql Server 2008 中declare的 @用法

2022-08-23 17:31:10  阅读:215  来源: 互联网

标签:变量 局部变量 Server 2008 全局变量 where declare select 赋值


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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有