- 浏览: 98316 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
anybyb:
很详细,学习了
RSS从入门到精通(转载) -
hrsvici412:
浏览器的正中呢?布局中间放置的是iframe
Ext 中随着浏览器的变化window居中 -
Javakeith:
有点太长了!
RSS从入门到精通(转载)
@@CONNECTIONS
返回自上次启动 Microsoft? SQL Server? 以来连接或试图连接的次数。
语法
@@CONNECTIONS
返回类型
integer
注释
连接与用户不同。例如,应用程序可以打开多个与 SQL Server 的连接,而不需要用户监视这些连接。
若要显示一个包含几个 SQL Server 统计信息的报表,包括试图连接统计信息,请运行 sp_monitor。
示例
下面的示例显示了到当前日期和时间为止试图登录的次数。
SELECT GETDATE() AS 'Today's Date and Time',
@@CONNECTIONS AS 'Login Attempts'
下面是结果集:
Today's Date and Time Login Attempts
--------------------------- ---------------
1998-04-09 14:28:46.940 18
?
@@CPU_BUSY
返回自上次启动 Microsoft? SQL Server? 以来 CPU 的工作时间,单位为毫秒(基于系统计时器的分辨率)。
语法
@@CPU_BUSY
返回类型
integer
注释
若要显示包含几个 SQL Server 统计信息的报表,包括 CPU 活动统计信息,请运行 sp_monitor。
示例
下面的示例显示了到当前日期和时间为止 SQL Server CPU 的活动。
SELECT @@CPU_BUSY AS 'CPU ms', GETDATE() AS 'As of'
下面是结果集:
CPU ms As of
----------------- ---------------------------
20 1998-04-18 14:43:08.180
?
?
@@CURSOR_ROWS
返回连接上最后打开的游标中当前存在的合格行的数量。为提高性能,Microsoft? SQL Server? 可以异步填充大键集和静态游标。可调用 @@CURSOR_ROWS,以确定当它被调用时,符合游标的行的数目被进行了检索。
返回值 描述
-m 游标被异步填充。返回值 (-m) 是键集中当前的行数。
-1 游标为动态。因为动态游标可反映所有更改,所以符合游标的行数不断变化。因而永远不能确定地说所有符合条件的行均已检索到。
0 没有被打开的游标,没有符合最后打开的游标的行,或最后打开的游标已被关闭或被释放。
n 游标已完全填充。返回值 (n) 是在游标中的总行数。
语法
@@CURSOR_ROWS
返回类型
integer
注释
若最后打开的游标是异步打开的,则 @@CURSOR_ROWS 返回的值是负数。若 sp_configure cursor threshold 的值大于0,则键集驱动程序或静态游标被异步打开,且游标结果集中的行数大于游标阈值。
示例
下面的示例声明了一个游标,并且用 SELECT 显示 @@CURSOR_ROWS 的值。在游标打开前,设置值为 0,值 -1 则表示游标键集被异步填充。
SELECT @@CURSOR_ROWS
DECLARE authors_cursor CURSOR FOR
SELECT au_lname FROM authors
OPEN authors_cursor
FETCH NEXT FROM authors_cursor
SELECT @@CURSOR_ROWS
CLOSE authors_cursor
DEALLOCATE authors_cursor
-----------
0
(1 row(s) affected)
au_lname
----------------------------------------
White
(1 row(s) affected)
-----------
-1
(1 row(s) affected)
?
?
@@DATEFIRST
返回 SET DATEFIRST 参数的当前值,SET DATEFIRST 参数指明所规定的每周第一天:1 对应星期一,2 对应星期二,依次类推,用 7 对应星期日。
语法
@@DATEFIRST
返回类型
tinyint
注释
美国英语中默认 7 对应星期日。
示例
下面的示例将每周第一天设为 5 (星期五),并假定当日是星期六。SELECT 语句返回 DATEFIRST 值和当日是此周的第几天。
SET DATEFIRST 5
SELECT @@DATEFIRST AS '1st Day', DATEPART(dw, GETDATE()) AS 'Today'
下面是结果集。从星期五算起,今天(星期六)是第二天。
1st Day Today
---------------- --------------
5 2
?
?
?
@@DBTS
为当前数据库返回当前 timestamp 数据类型的值。这一 timestamp 值保证在数据库中是唯一的。
语法
@@DBTS
返回类型
varbinary
注释
@@DBTS 返回当前数据库最后所使用的时间戳值。当带有 timestamp 列的一行被插入或更新时,会产生一个新的时间戳值。
示例
下面的示例从 pubs 数据库返回当前的 timestamp 值。
USE pubs
SELECT @@DBTS
?
?
?
@@ERROR
返回最后执行的 Transact-SQL 语句的错误代码。
语法
@@ERROR
返回类型
integer
注释
当 Microsoft? SQL Server? 完成 Transact-SQL 语句的执行时,如果语句执行成功,则 @@ERROR 设置为 0。若出现一个错误,则返回一条错误信息。@@ERROR 返回此错误信息代码,直到另一条 Transact-SQL 语句被执行。您可以在 sysmessages 系统表中查看与 @@ERROR 错误代码相关的文本信息。
由于 @@ERROR 在每一条语句执行后被清除并且重置,应在语句验证后立即检查它,或将其保存到一个局部变量中以备事后查看。
示例
A.用 @@ERROR 检测一个特定错误
下面的示例用 @@ERROR 在一个 UPDATE 语句中检测限制检查冲突(错误 #547)。
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"
B.用 @@ERROR 有条件地退出一个过程
在此示例中,IF...ELSE 语句在存储过程中的 INSERT 语句后检测 @@ERROR。@@ERROR 变量的值将决定传给调用程序的返回值,以指示此过程的成功与失败。
USE pubs
GO
-- Create the procedure.
CREATE PROCEDURE add_author
@au_id varchar(11),@au_lname varchar(40),
@au_fname varchar(20),@phone char(12),
@address varchar(40) = NULL,@city varchar(20) = NULL,
@state char(2) = NULL,@zip char(5) = NULL,
@contract bit = NULL
AS
-- Execute the INSERT statement.
INSERT INTO authors
(au_id, au_lname, au_fname, phone, address,
city, state, zip, contract) values
(@au_id,@au_lname,@au_fname,@phone,@address,
@city,@state,@zip,@contract)
-- Test the error value.
IF @@ERROR <> 0
BEGIN
-- Return 99 to the calling program to indicate failure.
PRINT "An error occurred loading the new author information"
RETURN(99)
END
ELSE
BEGIN
-- Return 0 to the calling program to indicate success.
PRINT "The new author information has been loaded"
RETURN(0)
END
GO
C.用 @@ERROR 检测几条语句的成功
下面的示例取决于 INSERT 和 DELETE 语句的成功操作。局部变量在两条语句后均被设置为 @@ERROR 的值,并且用于此操作的共享错误处理例程中。
USE pubs
GO
DECLARE @del_error int, @ins_error int
-- Start a transaction.
BEGIN TRAN
-- Execute the DELETE statement.
DELETE authors
WHERE au_id = '409-56-7088'
-- Set a variable to the error value for
-- the DELETE statement.
SELECT @del_error = @@ERROR
-- Execute the INSERT statement.
INSERT authors
VALUES('409-56-7008', 'Bennet', 'Abraham', '415 658-9932',
'6223 Bateman St.', 'Berkeley', 'CA', '94705', 1)
-- Set a variable to the error value for
-- the INSERT statement.
SELECT @ins_error = @@ERROR
-- Test the error values.
IF @del_error = 0 AND @ins_error = 0
BEGIN
-- Success. Commit the transaction.
PRINT "The author information has been replaced"
COMMIT TRAN
END
ELSE
BEGIN
-- An error occurred. Indicate which operation(s) failed
-- and roll back the transaction.
IF @del_error <> 0
PRINT "An error occurred during execution of the DELETE
statement."
IF @ins_error <> 0
PRINT "An error occurred during execution of the INSERT
statement."
ROLLBACK TRAN
END
GO
D. 与 @@ROWCOUNT 一同使用 @@ERROR
下面的示例用 @@ERROR 和 @@ROWCOUNT 验证一条 UPDATE 语句的操作。为任何可能出现的错误而检验 @@ERROR 的值,而用 @@ROWCOUNT 保证更新已成功应用于表中的某行。
USE pubs
GO
CREATE PROCEDURE change_publisher
@title_id tid,
@new_pub_id char(4)
AS
-- Declare variables used in error checking.
DECLARE @error_var int, @rowcount_var int
-- Execute the UPDATE statement.
UPDATE titles SET pub_id = @new_pub_id
WHERE title_id = @title_id
-- Save the @@ERROR and @@ROWCOUNT values in local
-- variables before they are cleared.
SELECT @error_var = @@ERROR, @rowcount_var = @@ROWCOUNT
-- Check for errors. If an invalid @new_pub_id was specified
-- the UPDATE statement returns a foreign-key violation error #547.
IF @error_var <> 0
BEGIN
IF @error_var = 547
BEGIN
PRINT "ERROR: Invalid ID specified for new publisher"
RETURN(1)
END
ELSE
BEGIN
PRINT "ERROR: Unhandled error occurred"
RETURN(2)
END
END
-- Check the rowcount. @rowcount_var is set to 0
-- if an invalid @title_id was specified.
IF @rowcount_var = 0
BEGIN
PRINT "Warning: The title_id specified is not valid"
RETURN(1)
END
ELSE
BEGIN
PRINT "The book has been updated with the new publisher"
RETURN(0)
END
GO
@@FETCH_STATUS
返回被 FETCH 语句执行的最后游标的状态,而不是任何当前被连接打开的游标的状态。
返回值 描述
0 FETCH 语句成功。
-1 FETCH 语句失败或此行不在结果集中。
-2 被提取的行不存在。
语法
@@FETCH_STATUS
返回类型
integer
注释
由于 @@FETCH_STATUS 对于在一个连接上的所有游标是全局性的,要小心使用 @@FETCH_STATUS 。在执行一条 FETCH 语句后,必须在对另一游标执行另一 FETCH 语句前测试 @@FETCH_STATUS 。在任何提取操作出现在此连接上前,@@FETCH_STATUS 的值没有定义。
例如,用户从一个游标执行一条 FETCH 语句,然后调用一个存储过程,此存储过程打开并处理另一个游标的结果。当控制从被调用的存储过程返回后,@@FETCH_STATUS 反映的是在存储过程中执行的最后的 FETCH 语句的结果,而不是在存储过程被调用之前的 FETCH 语句的结果。
示例
下面的示例用 @@FETCH_STATUS 控制在一个 WHILE 循环中的游标活动。
DECLARE Employee_Cursor CURSOR FOR
SELECT LastName, FirstName FROM Northwind.dbo.Employees
OPEN Employee_Cursor
FETCH NEXT FROM Employee_Cursor
WHILE @@FETCH_STATUS = 0
BEGIN
FETCH NEXT FROM Employee_Cursor
END
CLOSE Employee_Cursor
DEALLOCATE Employee_Cursor
@@IDENTITY
返回最后插入的标识值。
语法
@@IDENTITY
返回类型
numeric
注释
在一条 INSERT、SELECT INTO 或大容量复制语句完成后,@@IDENTITY 中包含此语句产生的最后的标识值。若此语句没有影响任何有标识列的表,则 @@IDENTITY 返回 NULL。若插入了多个行,则会产生多个标识值,@@IDENTITY 返回最后产生的标识值。如果此语句激发一个或多个执行产生标识值的插入操作的触发器,则语句执行后立即调用 @@IDENTITY 将返回由触发器产生的最后的标识值。若 INSERT 或 SELECT INTO 语句失败或大容量复制失败,或事务被回滚,则 @@IDENTITY 值不会还原为以前的设置。
在返回插入到表的 @@IDENTITY 列的最后一个值方面,@@IDENTITY、SCOPE_IDENTITY 和 IDENT_CURRENT 函数类似。
@@IDENTITY 和 SCOPE_IDENTITY 将返回在当前会话的所有表中生成的最后一个标识值。但是,SCOPE_IDENTITY 只在当前作用域内返回值,而 @@IDENTITY 不限于特定的作用域。
IDENT_CURRENT 不受作用域和会话的限制,而受限于指定的表。IDENT_CURRENT 返回任何会话和任何作用域中为特定表生成的标识值。有关更多信息,请参见 IDENT_CURRENT。
示例
下面的示例向带有标识列的表中插入一行,并用 @@IDENTITY 显示在新行中使用的标识值。
INSERT INTO jobs (job_desc,min_lvl,max_lvl)
VALUES ('Accountant',12,125)
SELECT @@IDENTITY AS 'Identity'
@@IDLE
返回 Microsoft? SQL Server? 自上次启动后闲置的时间,单位为毫秒(基于系统计时器的分辨率)。
语法
@@IDLE
返回类型
integer
注释
若要显示包含几个 SQL Server 统计信息的报表,可运行 sp_monitor。
示例
下面的示例显示 SQL Server 自启动到当前时间闲置的毫秒数。
SELECT @@IDLE AS 'Idle ms', GETDATE() AS 'As of'
下面是结果集:
Idle Ms As of
----------------- ---------------------------
277593 1998-04-18 16:41:07.160
@@IO_BUSY
返回 Microsoft? SQL Server? 自上次启动后用于执行输入和输出操作的时间,单位为毫秒(基于系统计时器的分辨率)。
语法
@@IO_BUSY
返回类型
integer
注释
若要显示包含几个 SQL Server 统计信息的报表,可运行 sp_monitor。
示例
下面的示例显示 SQL Server 自启动到目前已用于执行输入/输出操作的毫秒数。
SELECT @@IO_BUSY AS 'IO ms', GETDATE() AS 'As of'
下面是结果集:
IO ms As of
------------------ -----------------------------
31 1998-04-18 16:49:49.650
@@LANGID
返回当前所使用语言的本地语言标识符(ID)。
语法
@@LANGID
返回类型
smallint
注释
若要查看语言设置信息(包括语言 ID 号),可不带参数运行 sp_helplanguage。
示例
下面的示例将当前会话的语言设置为意大利语 (Italian),然后用 @@LANGID 返回意大利语的 ID。
SET LANGUAGE 'Italian'
SELECT @@LANGID AS 'Language ID'
下面是结果集:
Language ID
--------------------
6
@@LANGUAGE
返回当前使用的语言名。
语法
@@LANGUAGE
返回类型
nvarchar
注释
若要查看语言设置信息(包括合法的官方语言名),可不带参数运行 sp_helplanguage。
示例
下面的示例返回当前会话的语言。
SELECT @@LANGUAGE AS 'Language Name'
下面是结果集:
Language Name
-----------------------------
us_english
@@LOCK_TIMEOUT
返回当前会话的当前锁超时设置,单位为毫秒。
语法
@@LOCK_TIMEOUT
返回类型
integer
注释
SET LOCK_TIMEOUT 允许应用程序设置语句等待阻塞资源的最长时间。当一条语句已等待超过 LOCK_TIMEOUT所设置的时间,则被锁住的语句将自动取消,并给应用程序返回一条错误信息。
在一个连接的开始,@@LOCK_TIMEOUT 返回一个 –1值。
示例
下面的示例显示当一个 LOCK_TIMEOUT 值未被设置时的结果集。
SELECT @@LOCK_TIMEOUT
下面是结果集:
----------------
-1
下面的示例设置 LOCK_TIMEOUT 为 1800 毫秒,然后调用 @@LOCK_TIMEOUT。
SET LOCK_TIMEOUT 1800
SELECT @@LOCK_TIMEOUT
下面是结果集:
------------------------------
1800
@@MAX_CONNECTIONS
返回 Microsoft? SQL Server? 上允许的同时用户连接的最大数。返回的数不必为当前配置的数值。
语法
@@MAX_CONNECTIONS
返回类型
integer
注释
实际允许的用户连接数也依赖于所安装 SQL Server 的版本以及应用程序和硬件的限制。
若要将 SQL Server 重新配置为更少的连接,应使用 sp_configure。
示例
下面的示例假定 SQL Server 尚未被重新配置更少的用户连接。
SELECT @@MAX_CONNECTIONS
下面是结果集:
------------------
32767
@@MAX_PRECISION
返回 decimal 和 numeric 数据类型所用的精度级别,即该服务器中当前设置的精度。
语法
@@MAX_PRECISION
返回类型
tinyint
注释
默认情况下,最大精度返回 38。
示例
SELECT @@MAX_PRECISION
@@NESTLEVEL
返回当前存储过程执行的嵌套层次(初始值为 0)。
语法
@@NESTLEVEL
返回类型
integer
注释
每当一个存储过程调用另一个存储过程时,嵌套层次即进行递增。超过最大层数 32 时,事务即被终止。
示例
下面的示例创建两个过程:其中一个过程调用另一个过程,每个过程都显示自身的 @@NESTLEVEL 设置值。
CREATE PROCEDURE innerproc as
select @@NESTLEVEL AS 'Inner Level'
GO
CREATE PROCEDURE outerproc as
select @@NESTLEVEL AS 'Outer Level'
EXEC innerproc
GO
EXECUTE outerproc
GO
下面是结果集:
Outer Level
-----------------
1
Inner Level
-----------------
2
@@OPTIONS
返回当前 SET 选项的信息。
语法
@@OPTIONS
返回类型
integer
注释
可以用"sp_configure 用户选项"配置选项统一修改 SET 选项。每个用户有一个 @@OPTIONS 函数代表其配置环境。从第一次登录开始,系统管理员即为所有的用户分配一个默认的配置设置。
可以用 SET 语句更改语言和查询处理选项。
示例
下面的示例设置 NOCOUNT ON 选项,然后检测 @@OPTIONS 的值。NOCOUNT ON 选项可防止将会话中每一条语句所影响的行数消息发回给请求的客户机。@@OPTIONS 的值被设置为 512 (0x0200),代表 NOCOUNT 选项。下面的示例检测客户端是否启用了 NOCOUNT 选项。例如,它有助于跟踪客户端的性能差异。
SET NOCOUNT ON
IF @@OPTIONS & 512 > 0
RAISERROR ('Current user has SET NOCOUNT turned on.',1,1)
@@PACK_RECEIVED
返回 Microsoft? SQL Server? 自上次启动后从网络上读取的输入数据包数目。
语法
@@PACK_RECEIVED
返回类型
integer
注释
若要显示包含几个 SQL Server 统计信息的报表,其中包括发送和接收数据包的信息,可运行 sp_monitor。
示例
SELECT @@PACK_RECEIVED
@@PACK_SENT
返回 Microsoft? SQL Server? 自上次启动后写到网络上的输出数据包数目。
语法
@@PACK_SENT
返回类型
integer
注释
若要显示包含几个 SQL Server 统计信息的报表,其中包括发送和接收数据包的信息,可运行 sp_monitor。
示例
SELECT @@PACK_SENT
@@PACKET_ERRORS
返回自 SQL Server 上次启动后,在 Microsoft? SQL Server? 连接上发生的网络数据包错误数。
语法
@@PACKET_ERRORS
返回类型
integer
注释
若要显示包含几个 SQL Server 统计信息的报表,包括数据包错误,可运行 sp_monitor。
示例
SELECT @@PACKET_ERRORS
@@PROCID
返回当前过程的存储过程标识符 (ID) 。
语法
@@PROCID
返回类型
integer
示例
下面的示例创建了一个过程,在此过程内用 SELECT 显示 @@PROCID 设置。
CREATE PROCEDURE testprocedure AS
SELECT @@PROCID AS 'ProcID'
GO
EXEC testprocedure
GO
@@REMSERVER
当远程 Microsoft? SQL Server? 数据库服务器在登录记录中出现时,返回它的名称。
语法
@@REMSERVER
返回类型
nvarchar(256)
注释
@@REMSERVER 使存储过程可以查看它在其上运行的数据库服务器名。
示例
下面的示例创建一个过程,名为 check_server,它返回远程服务器名。
CREATE PROCEDURE check_server
AS
SELECT @@REMSERVER
存储过程创建在本地服务器 SEATTLE1 上。用户登录到远程服务器 LONDON2 上,然后运行 check_server。
exec SEATTLE1...check_server
下面是结果集:
---------------
LONDON2
@@ROWCOUNT
返回受上一语句影响的行数。
语法
@@ROWCOUNT
返回类型
integer
注释
任何不返回行的语句将这一变量设置为 0 ,如 IF 语句。
示例
下面的示例执行 UPDATE 语句并用 @@ROWCOUNT 来检测是否有发生更改的行。
UPDATE authors SET au_lname = 'Jones'
WHERE au_id = '999-888-7777'
IF @@ROWCOUNT = 0
print 'Warning: No rows were updated'
@@SERVERNAME
返回运行 Microsoft? SQL Server? 的本地服务器名称。
语法
@@SERVERNAME
返回类型
nvarchar
注释
SQL Server 安装程序在安装时将服务器名设置为计算机名。可通过使用 sp_addserver 然后重新启动 SQL Server 来更改 @@SERVERNAME。不过,通常不需要这种方法。
当安装有多个 SQL Server 实例时,如果本地服务器名自安装后未发生更改,则 @@SERVERNAME 返回以下本地服务器名信息。
实例 服务器信息
默认实例 '服务器名'
命名实例 '服务器名\实例名'
虚拟服务器 - 默认实例 '虚拟服务器名'
虚拟服务器 - 命名实例 '虚拟服务器名\实例名'
尽管 @@SERVERNAME 函数和 SERVERPROPERTY 函数的 SERVERNAME 属性可能返回相似格式的字符串,但信息会有所不同。SERVERNAME 属性会自动报告计算机网络名的更改。
相比之下,@@SERVERNAME 不报告此更改。@@SERVERNAME 报告使用 sp_addserver 或 sp_dropserver 存储过程对本地服务器名所做的更改。
示例
SELECT @@SERVERNAME
@@SERVICENAME
返回 Microsoft? SQL Server? 正在其下运行的注册表键名。若当前实例为默认实例,则 @@SERVICENAME 返回 MSSQLServer;若当前实例是命名实例,则该函数返回实例名。
语法
@@SERVICENAME
返回类型
nvarchar
注释
SQL Server 作为名为 MSSQLServer 的服务在 Microsoft Windows NT? 上运行。它不在 Windows? 95/98 上作为服务运行,因为该操作系统不支持服务。
示例
SELECT @@SERVICENAME
下面是结果集:
------------------------------
MSSQLServer
@@SPID
返回当前用户进程的服务器进程标识符 (ID)。
语法
@@SPID
返回类型
smallint
注释
@@SPID 可以在 sp_who 输出结果中标识当前用户进程。
示例
下面的示例返回当前用户进程的进程 ID、登录名和用户名。
SELECT @@SPID AS 'ID', SYSTEM_USER AS 'Login Name', USER AS 'User Name'
下面是结果集:
ID Login Name User Name
----- ------------- -----------
11 sa dbo
@@TEXTSIZE
返回 SET 语句 TEXTSIZE 选项的当前值,它指定 SELECT 语句返回的 text 或 image 数据的最大长度,以字节为单位。
语法
@@TEXTSIZE
返回类型
integer
注释
默认大小是 4096 字节。
示例
下面的示例用 SELECT 语句显示用 SET TEXTSIZE 语句改变前后的 @@TEXTSIZE 值。
SELECT @@TEXTSIZE
SET TEXTSIZE 2048
SELECT @@TEXTSIZE
下面是结果集:
------------------------
64512
------------------------
2048
@@TIMETICKS
返回一刻度的微秒数。
语法
@@TIMETICKS
返回类型
integer
注释
每一刻度的时间量依赖于计算机。操作系统的一刻度是 31.25 毫秒,或是三十分之一秒。
示例
SELECT @@TIMETICKS
@@TOTAL_ERRORS
返回 Microsoft? SQL Server? 自上次启动后,所遇到的磁盘读/写错误数。
语法
@@TOTAL_ERRORS
返回类型
integer
注释
若要显示包含几个 SQL Server 统计信息的报表,包括错误总数信息,可运行 sp_monitor。
示例
下面的示例显示了 SQL Server 到当前日期和时间为止所遇到的错误数。
SELECT @@TOTAL_ERRORS AS 'Errors', GETDATE() AS 'As of'
下面是结果集:
Errors As of
------- -------------------------------
0 1998-04-21 22:07:30.013
@@TOTAL_READ
返回 Microsoft? SQL Server? 自上次启动后读取磁盘(不是读取高速缓存)的次数。
语法
@@TOTAL_READ
返回类型
integer
注释
若要显示包含几个 SQL Server 统计信息的报表,包括读写活动信息,可运行 sp_monitor。
示例
下面的示例显示了到当前日期和时间为止的总的磁盘读写次数。
SELECT @@TOTAL_READ AS 'Reads', @@TOTAL_WRITE AS 'Writes', GETDATE() AS 'As of'
下面是结果集:
Reads Writes As of
--------- ----------- ------------------------------
978 124 1998-04-21 22:14:22.37
@@TOTAL_WRITE
返回 Microsoft? SQL Server? 自上次启动后写入磁盘的次数。
语法
@@TOTAL_WRITE
返回类型
integer
注释
若要显示包含几个 SQL Server 统计信息的报表,包括读写活动信息,可运行 sp_monitor。
示例
下面的示例显示了到当前日期和时间为止总的磁盘读写次数。
SELECT @@TOTAL_READ AS 'Reads', @@TOTAL_WRITE AS 'Writes', GETDATE() AS 'As of'
下面是结果集:
Reads Writes As of
--------- ----------- ------------------------------
978 124 1998-04-21 22:14:22.37
@@TRANCOUNT
返回当前连接的活动事务数。
语法
@@TRANCOUNT
返回类型
integer
注释
BEGIN TRANSACTION 语句使 @@TRANCOUNT 递增 1。ROLLBACK TRANSACTION 将 @@TRANCOUNT 递减为 0,但 ROLLBACK TRANSACTION savepoint_name 语句并不影响 @@TRANCOUNT 值。COMMIT TRANSACTION 或 COMMIT WORK 将 @@TRANCOUNT 递减 1。
示例
下面的示例用 @@TRANCOUNT 测试应该提交的打开事务。
BEGIN TRANSACTION
UPDATE authors SET au_lname = upper(au_lname)
WHERE au_lname = 'White'
IF @@ROWCOUNT = 2
COMMIT TRAN
IF @@TRANCOUNT > 0
BEGIN
PRINT 'A transaction needs to be rolled back'
ROLLBACK TRAN
END
@@VERSION
返回 Microsoft? SQL Server? 当前安装的日期、版本和处理器类型。
语法
@@VERSION
返回类型
nvarchar
注释
@@VERSION 返回的信息与 xp_msver 存储过程返回的产品名、版本、平台和文件数据相似,但 xp_msver 存储过程提供更详细的信息。
示例
下面的示例返回当前安装的日期、版本和处理器类型。
SELECT @@VERSION
发表评论
-
使用SQL按日、周、月、年方式来统计数据
2011-01-05 09:24 1501如: 表:consume_record 字段:cons ... -
取 SQL SERVER 字段信息
2010-12-28 16:50 758SELECT A.NAME AS '字段',B.NAME AS ... -
insert一条记录返回自增长id
2010-12-22 08:53 992建表 CREATE TABLE [dbo].[Test1]( ... -
经典SQL语句集锦
2010-12-22 08:51 762经典SQL语 ... -
SQL中IN,NOT IN,EXISTS,NOT EXISTS的用法和差别
2010-07-20 11:21 866SQL中IN,NOT IN,EXISTS,NOT EXISTS ... -
oracle临时表-优化查询速度
2010-07-08 11:56 9581、前言 目前所有使用oracle作为数据库支撑平台 ... -
Oracle 临时表
2010-07-08 11:54 791Oracle中的临时表临时表有两种一种1是事务级别的临时表它在 ... -
sequence 导出
2010-06-29 16:08 870使用exp工具,以tables的类型导出某个用户下所有的表和数 ... -
新手入门:Oracle 10G服务器安装图解
2010-06-28 16:19 1596【IT168 专稿】Oracle 应 ... -
oracle 日期函数
2010-06-22 15:01 542在oracle数据库的开发中,常因为时间的问题大费周章,所以特 ... -
Oracle 查询并删除重复记录的SQL语句
2010-06-18 15:52 749查询并删除重复记录 ... -
oracle中的insert语句
2010-06-17 16:15 2247在oracle中使用DML语言的insert语句来向表格中插入 ... -
Oracle多行记录合并/连接/聚合字符串的几种方法
2010-05-11 17:22 9172009-10-20 09:34 什么是合并多行字符串 ... -
hibernate中使用oracle-sequence
2010-04-23 11:44 1198一. 为表创建自增长自段有两种,一种是不同的表使用各自 ... -
oracle-sequence
2010-04-23 11:38 636先假设有这么一个表: create table S_Depa ...
相关推荐
Transact-sql 最常用全局变量 绝对精华 本人私藏许久 如有下载 不胜荣幸
--T-SQL语句用于管理SQL Server数据库引擎实例,创建和管理数据库对象, --以及查询、插入、修改和删除数据。 --Ø 变量 --1、局部变量(Local Variable) --局部变量是用户可以自定义的变量,它的作用范围是仅在...
利用Transact-SQL语句声明一个长度为16的nchar型变量bookname,并赋初值为”SQL Server 数据库编程”。 运算符的应用,使用teaching数据库 查询生日在’1989-01-01’之后的学生信息; 3)系统函数的应用 编程计算...
Transact-SQL编程 4.1 变量与函数 4.2 其它语言元素 4.3 流程控制语句 4.4 游标
sql语句命令sql语句命令sql语句命令sql语句命令sql语句命令sql语句命令
1 第 10 章 Transact-SQL 程序设计 教学目标 终极目标: 会利用变量、函数、流程控制语句编写 Transact-SQL 程序实现对数据库系统的 操作。 促成目标:1. 能正确理解和使用变量 2. 能正确理解和使用函数 3. 能正确...
SQL Server 2005在支持标准SQL语言的同时,对其进行了扩充,引入了T-SQL,即Transact-SQL,T-SQL是使用SQL Server 2005的核心,通过它,可以定义变量、使用流控制语句、自定义函数、自定义存储过程等,极大地扩展了...
和 Transact-SQL® 语言的四本指南: • 构件块 介绍了 Transact-SQL 的各个组成部分:数据类型、内置 函数、全局变量、表达式、标识符、保留字和 SQLSTATE 错 误。要想成功使用 Transact-SQL,您首先必须了解这些...
2. 声明局部变量 1. 算术运算符 4. 比较运算符 5. 逻辑运算符
Enterprise 和 Transact-SQL® 语言的四本指南: • 《构件块》介绍了 Transact-SQL 的各个部件:数据类型、内置函 数、全局变量、表达式、标识符、保留字和 SQLSTATE 错误。 要想成功使用 Transact-SQL,您首先必须...
它提供了使用Transact-SQL(T-SQL)的专家级指导,T-SQL是用于SQL Server的最常见的也是功能最强大的编程语言。该书由Itzik Ben-Gan权威执笔,重点关注语言特性以及它们如何被SQL Server引擎解释和处理。 通过本书...
存储过程是存储在服务器上的一组预编译的Transact-SQL语句,是一种封装重复任务操作的方法,支持用户提供的变量,具有强大的编程功能。在BAT文件中,可以包含一组经常执行的命令,这组命令通过BAT文件的执行而被执行...
构件块 介绍了 Transact-SQL 的各个“部件”:数据类型、内置 函数、全局变量、表达式、标识符、保留字和 SQLSTATE 错误。 为了学会使用 Transact-SQL,您需要首先理解这些构件块的功 能,以及它们对 Transact-SQL ...
简单的Transact-SQL查询只包括选择列表、FROM子句和WHERE子句。它们分别说明所查询列、查询的 表或视图、以及搜索条件等。 例如,下面的语句查询testtable表中姓名为“张三”的nickname字段和email字段。 代码:...
SP_EXECUTESQL 是在 SQL 2005中引入的新的系统存储过程,也是用来处理动态SQL 语句的。它比EXEC 更加灵活,首先也执行一下第一次的拼接SQL语句: DECLARE @TableName NVARCHAR(50),@Sql NVARCHAR(MAX),@Score INT; ...
第9章 Transact-SQL语言基础 159 9.1 T-SQL语法规则 159 9.2 运算符及优先级 159 9.2.1 算术运算符 159 9.2.2 赋值运算符 162 9.2.3 位运算符 163 9.2.4 比较运算符 166 9.2.5 逻辑运算符 167...
文章目录第七章 SQL Server 2012高级应用(T-SQL)7.1 Transact-SQL程序设计7.1.1 变量7.1.2 运算符7.1.3 批处理7.1.4 流程控制语句7.1.5 常用命令7.1.6 常用函数7.2 存储过程7.2.1 存储过程的概念、优点及分类7.2.2...
2.2.8 帮助子系统和SQL Server Books Online 2.3 存储过程的基本操作 2.3.1 通过Query Analyzer执行存储过程 2.3.2 通过Enterprise Manager管理存储过程 2.3.3 在Enterprise Manager中编辑存储过程 2.3.4 在Query ...
2.2.8 帮助子系统和SQL Server Books Online 2.3 存储过程的基本操作 2.3.1 通过Query Analyzer执行存储过程 2.3.2 通过Enterprise Manager管理存储过程 2.3.3 在Enterprise Manager中编辑存储过程 2.3.4 在Query ...
2.2.3 transact-sql的一些重要命令 26 2.3 oracle数据库 29 2.3.1 oracle数据库软件组成 29 2.3.2 oracle数据库体系结构 29 2.3.3 oracle数据库系统结构 30 2.3.4 使用sql*plus执行sql语句 31 2.4 pl/sql简介 ...