设为首页 收藏本站
查看: 1042|回复: 0

[经验分享] sqlserver变量赋值介绍说明

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-10-29 13:10:36 | 显示全部楼层 |阅读模式

变量对于一种语言是必不可少的一部分,当然,对于T-SQL来讲也是一样。在简单查询中,往往很少用到变量,

但无论对于复杂的查询或存储过程中,变量都是必不可少的一部分。在SQLServer中,变量分全局变量和局部变量两种:

一。全局变量:

全局变量是由系统定义的,在整个SQL Server实例内都能访问到的变量.全局变量以两个@@符号作为开头,用户只能访问,不能赋值。

Sql Server一共提供了30多个全局变量

常用:
@@IDENTITY  : 返回最后插入行的标识列的列值。
@@ERROR  : 返回最后执行的Transact-SQL语句的错误代码。没有错误则为零。
@@ROWCOUNT  : 返回受上一语句影响的行数,任何不返回行的语句将这一变量设置为0。
@@DBTS  : 返回当前数据库的时间戳值必须保证数据库中时间戳的值是惟一的。
@@SERVERNAME  : 返回运行SQL Server 2000本地服务器的名称。
@@REMSERVER  : 返回登录记录中记载的远程SQL Server服务器的名称。
@@CONNECTIONS  : 返回自上次启动SQL Server以来连接或试图连接的次数,用其可让管理人员方便地了解今天所有试图连接服务器的次数。
@@CURSOR_ROWS : 返回最后连接上并打开的游标中当前存在的合格行的数量。
@@VERSION  : 返回SQL Server当前安装的日期、版本和处理器类型。
@@CPU_BUSY  : 返回自SQL Server最近一次启动以来CPU的工作时间其单位为毫秒。
@@DATEFIRST  : 返回使用SET DATEFIRST命令而被赋值的DATAFIRST参数值。SET DATEFIRST命令用来指定每周的第一天是星期几。
@@FETCH_STATUS  : 返回上一次FETCH语句的状态值。
@@IDLE  : 返回自SQL Server最近一次启动以来CPU处于空闭状态的时间长短,单位为毫秒。
@@IO_BUSY  : 返回自SQL Server最后一次启动以来CPU执行输入输出操作所花费的时间(毫秒)。
@@LANGID  : 返回当前所使用的语言ID值。
@@LANGUAGE  : 返回当前使用的语言名称。
@@LOCK_TIMEOUT  : 返回当前会话等待锁的时间长短其单位为毫秒。
@@MAX_CONNECTIONS  : 返回允许连接到SQL Server的最大连接数目。
@@MAX_PRECISION  : 返回decimal 和 numeric数据类型的精确度。
@@NESTLEVEL  : 返回当前执行的存储过程的嵌套级数,初始值为0。
@@OPTIONS  : 返回当前SET选项的信息。
@@PACK_RECEIVED  : 返回SQL Server通过网络读取的输入包的数目。
@@PACK_SENT  : 返回SQL Server写给网络的输出包的数目。
@@PACKET_ERRORS  : 返回网络包的错误数目。
@@PROCID  : 返回当前存储过程的ID值。
@@SERVICENAME  : 返回SQL Server正运行于哪种服务状态之下:如 MS SQLServer、MSDTC、SQLServerAgent。
@@SPID  : 返回当前用户处理的服务器处理ID值。
@@TEXTSIZE  : 返回SET语句的TEXTSIZE选项值SET语句定义了SELECT语句中text或image。数据类型的最大长度基本单位为字节。
@@TIMETICKS  : 返回每一时钟的微秒数。
@@TOTAL_ERRORS  : 返回磁盘读写错误数目。
@@TOTAL_READ  : 返回磁盘读操作的数目。
@@TOTAL_WRITE  : 返回磁盘写操作的数目。
@@TRANCOUNT  : 返回当前连接中处于激活状态的事务数目。


二。局部变量

局部变量由用户定义,生命周期只在一个批处理内有效。局部变量以一个@符号开头,由用户自己定义和赋值。赋值时用 select 或 set。

示例:

declare @age int

declare @name varchar(20)

set @name='张三'      --用set 方法给变量赋值 注: 此方法一次只能给一个变量赋值

select @age=age from client where [name]=@name    --查询客户张三的年龄赋值给@age变量 注:此方法能一次多个变量赋值



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-132264-1-1.html 上篇帖子: SQL Server 2012 数据库镜像配置完整篇 下篇帖子: Sql Server数据库彻底删除用户 sqlserver
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表