SQL变量与全局变量
2016-02-08 11:40
330 查看
http://www.cnblogs.com/Leo_wl/p/3347187.html
变量
1.局部变量的声明(一个@)
declare @n int --声明变量关键字为declare 然后@加变量名 后面是变量类型
declare @s varchar(36)
2.局部变量的赋值
set @s='f4'
set @n=@n+1 --变量的赋值有两种方法,一种是通过set,一种是select 如果变量不附初始值则默认为null,null参与计算的结果还是null,这一行的@n就等于null
select @n=age from students --如过变量通过select赋值,这里可能在表中查到很多age结果,这里只赋值查询出来的最后一个age结果,如果set使用这种方法会出错。
set @n=(select age from Students where ID='1')--亦可以这样给他赋值
全局变量
全局变量:是系统预定义的,返回一些系统信息,全局变量以两个@@开头。
常用的变量:
@@CONNECTIONS 返回自上次启动以来连接或试图连接的次数。
@@CURSOR_ROWS 返回连接上最后打开的游标中当前存在的合格行的数量(返回被打开的游标中还未被读取的有效数据行的行数)
@@DATEFIRST 返回每周第一天的数字
@@ERROR 返回最后执行的SQL 语句的错误代码。
@@FETCH_STATUS 返回被 FETCH 语句执行的最后游标的状态,而不是任何当前被连接打开的游标的状态。
@@IDENTITY 返回最后插入的标识值
@@LANGID 返回当前所使用语言的本地语言标识符(ID)。
@@LANGUAGE 返回当前使用的语言名。
@@LOCK_TIMEOUT 返回当前会话的当前锁超时设置,单位为毫秒。
@@PROCID 返回当前过程的存储过程标识符 (ID) 。
@@ROWCOUNT 返回受上一语句影响的行数。
@@SERVERNAME 返回运行 的本地服务器名称。
@@SPID 返回当前用户进程的服务器进程标识符 (ID)。
@@TRANCOUNT 返回当前连接的活动事务数。
@@VERSION 返回当前安装的日期、版本和处理器类型。
@@CPU_BUSY 返回自SQL Server 最近一次启动以来CPU 的工作时间其单位为毫秒
@@DATEFIRST 返回使用SET DATEFIRST 命令而被赋值的DATAFIRST 参数值SET DATEFIRST,命令用来指定每周的第一天是星期几
@@DBTS 返回当前数据库的时间戳值必须保证数据库中时间戳的值是惟一的
@@ERROR 返回执行Transact-SQL 语句的错误代码
@@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 值
@@REMSERVER 返回远程SQL Server 数据库服务器的名称
@@SERVICENAME 返回SQL Server 正运行于哪种服务状态之下如MSSQLServer MSDTC SQLServerAgent
@@SPID 返回当前用户处理的服务器处理ID 值
@@TEXTSIZE 返回SET 语句的TEXTSIZE 选项值SET 语句定义了SELECT 语句中text 或image数据类型的最大长度基本单位为字节
@@TIMETICKS 返回每一时钟的微秒数
@@TOTAL_ERRORS 返回磁盘读写错误数目
@@TOTAL_READ 返回磁盘读操作的数目
@@TOTAL_WRITE 返回磁盘写操作的数目
@@TRANCOUNT 返回当前连接中处于激活状态的事务数
变量
1.局部变量的声明(一个@)
declare @n int --声明变量关键字为declare 然后@加变量名 后面是变量类型
declare @s varchar(36)
2.局部变量的赋值
set @s='f4'
set @n=@n+1 --变量的赋值有两种方法,一种是通过set,一种是select 如果变量不附初始值则默认为null,null参与计算的结果还是null,这一行的@n就等于null
select @n=age from students --如过变量通过select赋值,这里可能在表中查到很多age结果,这里只赋值查询出来的最后一个age结果,如果set使用这种方法会出错。
set @n=(select age from Students where ID='1')--亦可以这样给他赋值
全局变量
全局变量:是系统预定义的,返回一些系统信息,全局变量以两个@@开头。
常用的变量:
@@CONNECTIONS 返回自上次启动以来连接或试图连接的次数。
@@CURSOR_ROWS 返回连接上最后打开的游标中当前存在的合格行的数量(返回被打开的游标中还未被读取的有效数据行的行数)
@@DATEFIRST 返回每周第一天的数字
@@ERROR 返回最后执行的SQL 语句的错误代码。
@@FETCH_STATUS 返回被 FETCH 语句执行的最后游标的状态,而不是任何当前被连接打开的游标的状态。
@@IDENTITY 返回最后插入的标识值
@@LANGID 返回当前所使用语言的本地语言标识符(ID)。
@@LANGUAGE 返回当前使用的语言名。
@@LOCK_TIMEOUT 返回当前会话的当前锁超时设置,单位为毫秒。
@@PROCID 返回当前过程的存储过程标识符 (ID) 。
@@ROWCOUNT 返回受上一语句影响的行数。
@@SERVERNAME 返回运行 的本地服务器名称。
@@SPID 返回当前用户进程的服务器进程标识符 (ID)。
@@TRANCOUNT 返回当前连接的活动事务数。
@@VERSION 返回当前安装的日期、版本和处理器类型。
@@CPU_BUSY 返回自SQL Server 最近一次启动以来CPU 的工作时间其单位为毫秒
@@DATEFIRST 返回使用SET DATEFIRST 命令而被赋值的DATAFIRST 参数值SET DATEFIRST,命令用来指定每周的第一天是星期几
@@DBTS 返回当前数据库的时间戳值必须保证数据库中时间戳的值是惟一的
@@ERROR 返回执行Transact-SQL 语句的错误代码
@@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 值
@@REMSERVER 返回远程SQL Server 数据库服务器的名称
@@SERVICENAME 返回SQL Server 正运行于哪种服务状态之下如MSSQLServer MSDTC SQLServerAgent
@@SPID 返回当前用户处理的服务器处理ID 值
@@TEXTSIZE 返回SET 语句的TEXTSIZE 选项值SET 语句定义了SELECT 语句中text 或image数据类型的最大长度基本单位为字节
@@TIMETICKS 返回每一时钟的微秒数
@@TOTAL_ERRORS 返回磁盘读写错误数目
@@TOTAL_READ 返回磁盘读操作的数目
@@TOTAL_WRITE 返回磁盘写操作的数目
@@TRANCOUNT 返回当前连接中处于激活状态的事务数
相关文章推荐
- 平台实时弹框消息提醒SQL
- 界面元素查询语句计算页数SQL中增加汇总值描述
- SQL1224N db2
- DButils工具类能够用来获取数据库连接向数据库插入更新删除对象2
- MySQL数据库触发器(trigger)
- Atitit.跨语言数据库db api兼容性 jdbc odbc ado oledb 增强方案
- Atitit.跨语言数据库db api兼容性 jdbc odbc ado oledb 增强方案
- Atitit.跨语言数据库db api兼容性 jdbc odbc ado oledb 增强方案
- 创建mysql数据表基础操作
- mysql基础指令和数据库基本操作
- could not open parameter file '/u01/app/oracle/product/11.1.0/db_1/dbs/initorc11g.ora
- 《MySQL必知必会》读书笔记(四) 22~30章 完结篇
- C++自制Redis数据库(五) 设计开始 敲定各模块架构--数据库模块
- Oracle学习第一天
- redis源码分析(1)----字符串sds
- mysql benchmark基准测试
- (绝对有用,而且实用)数据库存储,使用FMDB进行数据库操作
- spymemcached和spring的整合
- Table 'performance_schema.session_variables' doesn't exist
- C++自制Redis数据库(三)设计开始敲定各模块架构-简单集群设计