加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

SQLServer中的全局变量

发布时间:2020-12-12 12:51:57 所属栏目:MsSql教程 来源:网络整理
导读:SQLServer中的全局变量 变量 Transact-SQL语言中有两种形式的变量,一种是用户自己定义的局部变量,另外一种是系统提供的全局变量。 局部变量 局部变量是一个能够拥有特定数据类型的对象,它的作用范围仅限制在程序内部。局部变量可以作为计数器来计算循环执

SQLServer中的全局变量

变量

Transact-SQL语言中有两种形式的变量,一种是用户自己定义的局部变量,另外一种是系统提供的全局变量。
局部变量

局部变量是一个能够拥有特定数据类型的对象,它的作用范围仅限制在程序内部。局部变量可以作为计数器来计算循环执行的次数,或是控制循环执行的次数。另外,利用局部变量还可以保存数据值,以供控制流语句测试以及保存由存储过程返回的数据值等。局部变量被引用时要在其名称前加上标志“@”,而且必须先用DECLARE命令定义后才可以使用。

全局变量
全局变量是SQL Server系统内部使用的变量,其作用范围并不仅仅局限于某一程序,而是任何程序均可以随时调用。全局变量通常存储一些SQL Server的配置设定值和统计数据。用户可以在程序中用全局变量来测试系统的设定值或者是Transact-SQL命令执行后的状态值。

使用全局变量时应该注意以下几点:
①全局变量不是由用户的程序定义的,它们是在服务器级定义的。
②用户只能使用预先定义的全局变量。
③引用全局变量时,必须以标记符“@@”开头。
④局部变量的名称不能与全局变量的名称相同,否则会在应用程序中出现不可预测的结果。

select @@ERROR 返回最后执行的 Transact-SQL 语句的错误代码(integer) (0,表示没错误;1,表示有错误)

select?APP_NAME?(?)?as?w?--当前会话的应用程序

select?@@IDENTITY???--返回最后插入的标识值?
select?USER_NAME()????--返回用户数据库用户名

SELECT?@@CONNECTIONS??--返回自上次SQL启动以来连接或试图连接的次数。?
SELECT?GETDATE()?--当前时间?
SELECT?@@CPU_BUSY/100??--返回自上次启动SQL?以来?CPU?的工作时间,单位为毫秒

USE?tempdb?SELECT?@@DBTS??as?w??--为当前数据库返回当前?timestamp?数据类型的值。这一?timestamp?值保证在数据库中是唯一的。?
select?@@IDENTITY?as?w?--返回最后插入的标识值?
SELECT?@@IDLE??as?w??--返回SQL自上次启动后闲置的时间,单位为毫秒?
SELECT?@@IO_BUSY?AS?w???--返回SQL自上次启动后用于执行输入和输出操作的时间,单位为毫秒?
SELECT?@@LANGID?AS?w???--返回当前所使用语言的本地语言标识符(ID)。?
SELECT?@@LANGUAGE?AS?w???--返回当前使用的语言名?
SELECT?@@LOCK_TIMEOUT?as?w??--当前会话的当前锁超时设置,单位为毫秒。?
SELECT?@@MAX_CONNECTIONS??as?w??--返回SQL上允许的同时用户连接的最大数。返回的数不必为当前配置的数值?
EXEC?sp_configure??--显示当前服务器的全局配置设置?
SELECT?@@MAX_PRECISION?as?w?--返回?decimal?和?numeric?数据类型所用的精度级别,即该服务器中当前设置的精度。默认最大精度38。?
select?@@OPTIONS??as?w??--返回当前?SET?选项的信息。?
SELECT?@@PACK_RECEIVED?as?w??--返回SQL自启动后从网络上读取的输入数据包数目。?
SELECT?@@PACK_SENT?as?w??--返回SQ自上次启动后写到网络上的输出数据包数目。?
SELECT?@@PACKET_ERRORS?as?w??--返回自SQL启动后,在SQL连接上发生的网络数据包错误数。?
SELECT?@@SERVERNAME?as?w?--返回运行SQL服务器名称。?
SELECT?@@SERVICENAME??as?w?--返回SQL正在其下运行的注册表键名?
SELECT?@@TIMETICKS??as?w?--返回SQL服务器一刻度的微秒数?
SELECT?@@TOTAL_ERRORS?AS?w??--返回?SQL服务器自启动后,所遇到的磁盘读/写错误数。?
SELECT?@@TOTAL_READ??as?w??--返回?SQL服务器自启动后读取磁盘的次数。?
SELECT?@@TOTAL_WRITE?as?w??--返回SQL服务器自启动后写入磁盘的次数。?
SELECT?@@TRANCOUNT??as?w??--返回当前连接的活动事务数。?
SELECT?@@VERSION?as?w??--返回SQL服务器安装的日期、版本和处理器类型。?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读