欢迎来到天天文库
浏览记录
ID:34726132
大小:71.68 KB
页数:8页
时间:2019-03-10
《sql中的全局变量和局部变量》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、SQL中的全局变量和局部变量在SQL中,我们常常使用临时表来存储临时结果,对于结果是一个集合的情况,这种方法非常实用,但当结果仅仅是一个数据或者是几个数据时,还要去建一个表,显得就比较麻烦,另外,当一个SQL语句中的某些元素经常变化时,比如选择条件,(至少我想)应该使用局部变量。当然MSSQLServer的全局变量也很有用。>>>>局部变量声明:DECLARE@local_variabledata_type@local_variable是变量的名称。变量名必须以at符(@)开头。data_type是任何由系统提供的或用户定义的数据
2、类型。变量不能是text、ntext或image数据类型。示例:usemasterdeclare@SEL_TYPEchar(2)declare@SEL_CUNTnumeric(10)set@SEL_TYPE='U'/*usertable*/set@SEL_CUNT=10/*返回系统中用户表的数目*/select@SEL_CUNT=COUNT(*)fromsysobjectswheretype=@SEL_TYPEselect@SEL_CUNTas'Usertable''scount'如果要返回系统表的数目,可以用set@SEL_TY
3、PE='S'可能这个例子并不能说明使用变量的好处,我只是想说明使用方法。当一组(几个甚至几十个)SQL语句都使用某个变量时,就能体会到他的好处了。>>>>全局变量全局变量是系统预定义的,返回一些系统信息,全局变量以两个at(@)开头。下面是我统计了一些较为常用的变量。@@CONNECTIONS返回自上次启动以来连接或试图连接的次数。@@CURSOR_ROWS返回连接上最后打开的游标中当前存在的合格行的数量(返回被打开的游标中还未被读取的有效数据行的行数)@@DATEFIRST返回每周第一天的数字@@ERROR返回最后执行的SQL语
4、句的错误代码。@@FETCH_STATUS返回被FETCH语句执行的最后游标的状态,而不是任何当前被连接打开的游标的状态。@@IDENTITY返回最后插入的标识值@@LANGID返回当前所使用语言的本地语言标识符(ID)。@@LANGUAGE返回当前使用的语言名。@@LOCK_TIMEOUT返回当前会话的当前锁超时设置,单位为毫秒。@@PROCID返回当前过程的存储过程标识符(ID)。@@ROWCOUNT返回受上一语句影响的行数。@@SERVERNAME返回运行的本地服务器名称。@@SPID返回当前用户进程的服务器进程标识符(ID
5、)。@@TRANCOUNT返回当前连接的活动事务数。@@VERSION返回当前安装的日期、版本和处理器类型。@@CPU_BUSY返回自SQLServer最近一次启动以来CPU的工作时间其单位为毫秒@@DATEFIRST返回使用SETDATEFIRST命令而被赋值的DATAFIRST参数值SETDATEFIRST,命令用来指定每周的第一天是星期几@@DBTS返回当前数据库的时间戳值必须保证数据库中时间戳的值是惟一的@@ERROR返回执行Transact-SQL语句的错误代码@@FETCH_STATUS返回上一次FETCH语句的状态值
6、@@IDLE返回自SQLServer最近一次启动以来CPU处于空闭状态的时间长短单位为毫秒@@IO_BUSY返回自SQLServer最近一次启动以来CPU执行输入输出操作所花费的时间其单位为毫秒@@LANGID返回当前所使用的语言ID值@@LANGUAGE返回当前使用的语言名称@@LOCK_TIMEOUT返回当前会话等待锁的时间长短其单位为毫秒@@MAX_CONNECTIONS返回允许连接到SQLServer的最大连接数目@@MAX_PRECISION返回decimal和numeric数据类型的精确度@@NESTLEVEL返回当前
7、执行的存储过程的嵌套级数初始值为0@@OPTIONS返回当前SET选项的信息@@PACK_RECEIVED返回SQLServer通过网络读取的输入包的数目@@PACK_SENT返回SQLServer写给网络的输出包的数目@@PACKET_ERRORS返回网络包的错误数目@@PROCID返回当前存储过程的ID值@@REMSERVER返回远程SQLServer数据库服务器的名称@@SERVICENAME返回SQLServer正运行于哪种服务状态之下如MSSQLServerMSDTCSQLServerAgent@@SPID返回当前用户处
8、理的服务器处理ID值@@TEXTSIZE返回SET语句的TEXTSIZE选项值SET语句定义了SELECT语句中text或image数据类型的最大长度基本单位为字节@@TIMETICKS返回每一时钟的微秒数@@TOTAL_ERRORS返回磁盘读写错
此文档下载收益归作者所有