SQL 局部变量和全局变量

SQL 局部变量和全局变量作用:1.储存从表中查询到的数据。作用范围:仅在程序内部。格式及用法:以“@”开头,先声明后赋值再使用。

大家好,欢迎来到IT知识分享网。

SQL 局部变量和全局变量

局部变量

局部变量是可自定义的变量。

作用:

1.储存从表中查询到的数据。

2.做过程中的临时变量。

作用范围:

仅在程序内部。

格式及用法:

以“@”开头,先声明后赋值再使用。

SQL 局部变量和全局变量

局部变量声明

局部变量声明用declare声明。

语法:

declare @varaible_name datatype --declare @变量名 变量类型 

例如:

declare @name nvarchar(10) declare @time datetime 
SQL 局部变量和全局变量

局部变量赋值

1.set赋值法:

set @变量名 = 变量值 set @name = '剑云锋' 

2.select赋值法:

select @变量名 = 变量值 select @time = getdate(); 

局部变量输出:

1.print 文本格式单个输出。

特点:只能一个一个输出。

declare @name nvarchar(10) set @name = '剑云锋' print @name 
SQL 局部变量和全局变量

2.select表格格式输出。

 declare @time datetime select @time = GETDATE(); select @time 
SQL 局部变量和全局变量

注意:

避免使用关键字、全局变量名做变量以及其他对象。

SQL 局部变量和全局变量

全局变量

全局变量是系统内部使用的服务器级定义的系统预定义变量。

作用:

任何程序均可随时调用全局变量统称存储一些SQLserver 的配置设定值和效能统计数据。用户可引用全局变量来测试系统的设定值或者Transact-SQL 命令执行后的状态值。

作用范围:

不局限于某一程序,全局随时可调用。

格式及应用:

全局变量用户只可引用,不可自行定义。引用时必须用“@@全局变量名”来进行引用。

常用的全局变量

1.@@connections 返回自上次启动以来连接或试图连接的次数。

print @@connections 

2. @@error 返回最后执行的SQL 语句的错误代码。

print @@error 

3. @@rowcount 返回受上一语句影响的行数。

print @@rowcount 

4.@@servername 返回运行的本地服务器名称。

print @@servername 

5.@@version 返回当前安装的日期、版本和处理器类型。

print @@version 

6.@@language 返回当前使用的语言名称

print @@language 

7.@@lock_timeout 返回当前会话等待锁的时间长短其单位为毫秒

print @@lock_timeout 

运行结果如下:

SQL 局部变量和全局变量

其他的全局变量

1.@@CURSOR_ROWS 返回连接上最后打开的游标中当前存在的合格行的数量(返回被打开的游标中还未被读取的有效数据行的行数)

print @@CURSOR_ROWS 

2.@@DATEFIRST 返回每周第一天的数字

print @@DATEFIRST 

3.@@FETCH_STATUS 返回被 FETCH 语句执行的最后游标的状态,而不是任何当前被连接打开的游标的状态。

print @@FETCH_STATUS 

4.@@IDENTITY 返回最后插入的标识值

print @@IDENTITY 

5.@@LANGID 返回当前所使用语言的本地语言标识符(ID)。

print @@LANGID 

6.@@PROCID 返回当前过程的存储过程标识符 (ID) 。

print @@PROCID 

7.@@SPID 返回当前用户进程的服务器进程标识符 (ID)。

print @@SPID 

8.@@TRANCOUNT 返回当前连接的活动事务数。

print @@TRANCOUNT 

9.@@CPU_BUSY 返回自SQL Server 最近一次启动以来CPU 的工作时间其单位为毫秒

print @@CPU_BUSY 

10.@@DATEFIRST 返回使用SET DATEFIRST 命令而被赋值的DATAFIRST 参数值SET DATEFIRST,命令用来指定每周的第一天是星期几

print @@DATEFIRST 

11.@@DBTS 返回当前数据库的时间戳值必须保证数据库中时间戳的值是惟一的

print @@DBTS 

12. @@FETCH_STATUS 返回上一次FETCH 语句的状态值

print @@FETCH_STATUS 

13.@@IDLE 返回自SQL Server 最近一次启动以来CPU 处于空闭状态的时间长短单位为毫秒

print @@IDLE 

14.@@IO_BUSY 返回自SQL Server 最近一次启动以来CPU 执行输入输出操作所花费的时间其单位为毫秒

print @@IO_BUSY 

15.@@LANGID 返回当前所使用的语言ID 值

print @@LANGID 

16.@@MAX_CONNECTIONS 返回允许连接到SQL Server 的最大连接数目

print @@MAX_CONNECTIONS 

17.@@MAX_PRECISION 返回decimal 和numeric 数据类型的精确度

print @@MAX_PRECISION 

18.@@NESTLEVEL 返回当前执行的存储过程的嵌套级数初始值为0

print @@NESTLEVEL 

19.@@OPTIONS 返回当前SET 选项的信息

print @@OPTIONS 

20.@@PACK_RECEIVED 返回SQL Server 通过网络读取的输入包的数目

print @@PACK_RECEIVED 

21.@@PACK_SENT 返回SQL Server 写给网络的输出包的数目

print @@PACK_SENT 

22.@@PACKET_ERRORS 返回网络包的错误数目

print @@PACKET_ERRORS 

23.@@PROCID 返回当前存储过程的ID 值

print @@PROCID 

24. @@REMSERVER 返回远程SQL Server 数据库服务器的名称

print @@REMSERVER 

25.@@SERVICENAME 返回SQL Server 正运行于哪种服务状态之下如MSSQLServer MSDTC SQLServerAgent

print @@SERVICENAME 

26.@@SPID 返回当前用户处理的服务器处理ID 值

print @@SPID 

27.@@TEXTSIZE 返回SET 语句的TEXTSIZE 选项值SET 语句定义了SELECT 语句中text 或image数据类型的最大长度基本单位为字节

print @@TEXTSIZE 

28.@@TIMETICKS 返回每一时钟的微秒数

print @@TIMETICKS 

29.@@TOTAL_ERRORS 返回磁盘读写错误数目

print @@TOTAL_ERRORS 

30.@@TOTAL_READ 返回磁盘读操作的数目

print @@TOTAL_READ 

31.@@TOTAL_WRITE 返回磁盘写操作的数目

print @@TOTAL_WRITE 

32.@@TRANCOUNT 返回当前连接中处于激活状态的事务数目

print @@TRANCOUNT 

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/56513.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信