变量
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服务器安装的日期、版本和处理器类型。。
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|