SQLServer中的全局变量

转载 2017年01月03日 14:25:42


变量

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服务器安装的日期、版本和处理器类型。

SQL SERVER 全局变量

全局变量 全局变量是由服务器级定义,而不是由用户的程序定义,并且不能修改。其作用范围是任何程序均可以随时调用,引用全局变量时必须以标记符“@@”开头。在程序中,我们可以通过全局变量来测试系统的设定值...
  • baidu_32731497
  • baidu_32731497
  • 2016年05月18日 22:47
  • 961

SQL中的全局变量和局部变量(@@/@)

SQL中的全局变量和局部变量(@@/@)
  • leamonjxl
  • leamonjxl
  • 2011年04月08日 11:07
  • 6589

sqlserver中的全局变量

sqlserver中的全局变量。
  • itmaxin
  • itmaxin
  • 2014年02月28日 15:27
  • 1444

SQLSERVER中的全局变量

全局变量以@@开头,下面 直接上语句。 select  @@connections as connection,--记录自最后一次服务器启动以来,所有针对这台服务器进行的连接数目,包括没有连接成功...
  • shuzhongxiao
  • shuzhongxiao
  • 2012年03月07日 10:52
  • 217

SQLServer中的全局变量

SQLServer中的全局变量 变量 Transact-SQL语言中有两种形式的变量,一种是用户自己定义的局部变量,另外一种是系统提供的全局变量。 局部变量 局部变量是一个能够...
  • yanguoqiang29
  • yanguoqiang29
  • 2015年01月20日 17:59
  • 155

SQL中全局变量和局部变量的区别及用法

局部变量局部变量是用户可自定义的变量,它的作用范围仅在程序内部。在程序中通常用来储存从表中查询到的数据,或当作程序执行过程中暂存变量使用。局部变量必须以“@”开头,而且必须先用DECLARE命令说明后...
  • centralunit
  • centralunit
  • 2016年10月30日 16:03
  • 2208

SqlServer使用@@ROWCOUNT全局变量

我在一段while循环语句中设定了循环结束条件,执行语句时出现数据溢出错误,因此判断为循环结束条件失效,导致死循环至数据溢出,可是找了好久都没发现问题所在。 SQL表  [Structs]包含三个字...
  • u012143455
  • u012143455
  • 2015年11月19日 10:58
  • 776

SQL Server 2008(三) T-SQL(常用全局变量)

1.@@CONNECTIONS 记录自最后一次服务器启动以来,所有针对这台服务器进行的连接数目,包括没有连接成功的尝试。使用@@CONNECTIONS可以让系统管理员很容易地得到今天所有试图连接本服务...
  • qq_26744901
  • qq_26744901
  • 2015年11月02日 14:34
  • 1459

python大盘点:全局变量、局部变量、类变量、实例变量

1、前沿 相信同学们一定懵逼过,那是,不懵逼就不正常了,现在由我为了大家在轻松的氛围下逐个说明 标题中所述的 名词 2、定义             a、全局变量:在模块内、在所有函数外面、在cl...
  • cadi2011
  • cadi2011
  • 2016年09月07日 16:45
  • 12064

jsp中的局部变量和全局变量

全局变量    jsp的全局变量的定义的方式为:    执行机制:其实jsp动态代码就是一个servlet,全局变量就是动态代码所对应的类的一个属性,当执行jsp时便会为该类创建对象,为属性开...
  • qq_15150353
  • qq_15150353
  • 2016年09月26日 20:20
  • 6365
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:SQLServer中的全局变量
举报原因:
原因补充:

(最多只允许输入30个字)