SqlServer全局变量备忘
全局变量是SQL Server系统内部事先定义好的变量,不用用户参与定义,对用户而言,其作用范围并不局限于某一程序,而是任何程序均可随时调用。全局变量通常用于存储一些SQL Server的配置设定值和效能统计数据。
SQL Server一共提供了30多个全局变量,本节只对一些常用变量的功能和使用方法进行介绍。全局变量的名称都是以@@开头的。
(1)@@CONNECTIONS
记录自最后一次服务器启动以来,所有针对这台服务器进行的连接数目,包括没有连接成功的尝试。
使用@@CONNECTIONS可以让系统管理员很容易地得到今天所有试图连接本服务器的连接数目。
(2)@@CUP_BUSY
记录自上次启动以来尝试的连接数,无论连接成功还是失败,都以ms为单位的CPU工作时间。
(3)@@CURSOR_ROWS
返回在本次服务器连接中,打开游标取出数据行的数目。
(4)@@DBTS
返回当前数据库中timestamp数据类型的当前值。
(5)@@ERROR
返回执行上一条Transact-SQL语句所返回的错误代码。
在SQL Server服务器执行完一条语句后,如果该语句执行成功,则将返回@@ERROR的值为0,如果该语句执行过程中发生错误,则将返回错误的信息,而@@ERROR将返回相应的错误编号,该标号将一直保持下去,直到下一条语句得到执行为止。
由于@@ERROR在每一条语句执行后被清除并且重置,应在语句验证后立即检查它,或将其保存到一个局部变量中以备事后查看。
示例:
在“pubs”数据库中修改“authors”数据表时,用@@ERROR检测限制查询冲突。
图1 修改数据时检测错误
SQL语句如下:
USE pubs
GO
UPDATE authors SET au_id = '172 32 1176'
WHERE au_id = '172-32-1176'
IF @@ERROR = 547
print 'A check constraint violation occurred'
(6)@@FETCH_STATUS
返回上一次使用游标FETCH操作所返回的状态值,且返回值为整型。
表1 @@FETCH_STATUS返回值的描述
例如,到了最后一行数据后,还要接着取下一行数据等,返回的值为−2,表示返回的值已经丢失。
(7)@@IDENTITY
返回最近一次插入的identity列的数值,返回值是numeric。
示例:
在“pugs”数据库中的“jobs”数据表中,插入一行数据,并用@@identity显示新行的标识值。SQL语句如下:
USE pubs
INSERT INTO jobs (job_desc,min_lvl,max_lvl)
VALUES ('Accountant',12,125)
SELECT @@IDENTITY AS 'Identity'
(8)@@IDLE
返回以ms为单位计算SQL Server服务器自
相关文档:
sqlserver 2000排名函数
名次生成方式1,重复时合并名次
SELECT * , Place=(SELECT COUNT(DISTINCT Score) +1 from jh03 WHERE Score >= a.Score)
from jh03 a
ORDER BY Place
名次生成方式2 , 重复时保留名次空缺
SELECT * , Place=(SELECT COUNT(Score) from jh03 WHERE Score > a.Score) + 1
from j ......
SQL-Structured Query Language
--(开启SQL服务:net start mssqlserver)
--(在命令行中输入'sqlwb'命令可打开SQL管理器 )
--(如果 ......
今日sqlserver2000的服务启动不了,看了一下错误日志“SQL Server evaluation period has expired.”
从网上找了找,重新安装sqlserver2000即可,重装时可能会遇到“以前的某个程序安装已在安装计算机上创建挂起的文件操作。运行安装程序之前必须重新启动计算机”错误,可查看本人前一篇文章解决 ......