全局变量的值由数据库服务器设置。例如,全局变量 @@version 的值是数据库服务器的当前版本号。
全局变量的名称前有两个 @ 符号,以便与局部和连接级变量加以区分。例如,@@error 和 @@rowcount 都是全局变量。用户不能创建全局变量,也不能直接更新全局变量的值。
有些全局变量(如 @@identity)保存特定于连接的信息,因此具有特定于连接的值。其它变量(如 @@connections)则具有所有连接共有的值。
特殊值(例如 CURRENT DATE、CURRENT TIME、USER 和 SQLSTATE)类似于全局变量。
以下语句检索版本全局变量的值。
SELECT @@version; |
在过程和触发器中,全局变量可以选入变量列表。以下过程用参数 ver 返回服务器版本号。
CREATE PROCEDURE VersionProc ( OUT ver VARCHAR(100) ) BEGIN SELECT @@version INTO ver; END; |
在嵌入式 SQL 中,全局变量可以选入主机变量列表。
变量名称 | 含义 |
---|---|
@@char_convert | 0(用于与 Transact-SQL 兼容。) |
@@client_csid | -1(用于与 Transact-SQL 兼容。) |
@@client_csname | NULL(用于与 Transact-SQL 兼容。) |
@@connections | 自服务器上次启动后的登录数。 |
@@cpu_busy | 0(用于与 Transact-SQL 兼容。) |
@@dbts | 一个 TIMESTAMP 类型的值,表示上次生成的值,用于以 DEFAULT TIMESTAMP 定义的所有列。 |
@@error |
检查最近执行的语句是成功还是失败的 Transact-SQL 错误代码。如果前一个事务成功,则返回 0。如果前一个事务未成功,则返回由系统生成的上一个错误编号。 要查看 @@error 返回的值的说明,请参见Transact-SQL 过程中的错误处理。 如果发生错误, |
@@fetch_status |
包含上次读取语句所产生的状态信息。此功能与 @@sqlstatus 相同,只不过它返回的值不同。这是为了与 Microsoft SQL Server 兼容。@@fetch_status 可包含以下值:
|
@@identity | 上次用 INSERT 或 SELECT INTO 语句插入到任何 IDENTITY 或 DEFAULT AUTOINCREMENT 列中的值。 |
@@idle | 0(用于与 Transact-SQL 兼容。) |
@@io_busy | 0(用于与 Transact-SQL 兼容。) |
@@isolation | 当前连接的隔离级别。@@isolation 采用活动级别的值。 |
@@langid | 当前连接所用语言的唯一语言 ID。 |
@@language | 连接所用语言的名称。 |
@@max_connections | 对于个人服务器,为可与服务器建立的同步连接的最大数目,即为 10。对于网络服务器,为活动客户端(而非数据库连接,因为每个客户端可支持多个连接)的最大数目。 |
@@maxcharlen | CHAR 字符集中的最大字符长度(以字节为单位)。 |
@@ncharsize | NCHAR 字符集中的最大字符长度(以字节为单位)。 |
@@nestlevel | -1(用于与 Transact-SQL 兼容。) |
@@pack_received | 0(用于与 Transact-SQL 兼容。) |
@@pack_sent | 0(用于与 Transact-SQL 兼容。) |
@@packet_errors | 0(用于与 Transact-SQL 兼容。) |
@@procid | 当前执行的过程的存储过程 ID。 |
@@rowcount |
受上一语句影响的行数。应在该语句后立即检查 @@rowcount 的值。 插入、更新和删除会将 @@rowcount 设置为受影响的行数。 在带有游标的情况下,@@rowcount 表示从游标结果集返回给客户端的累计行数(截止到上次读取请求)。 任何不影响行的语句(如 IF 语句)都不将 @@rowcount 重置为零。 |
@@servername | 当前数据库服务器的名称。 |
@@spid | 当前连接的连接句柄。该值与 sa_conn_info 过程显示的值相同。 |
@@sqlstatus |
包含上次读取语句所产生的状态信息。@@sqlstatus 可以包含下列值:
|
@@textsize | 返回 SET TEXTSIZE 选项的当前值,它指定了用 SELECT 语句返回的 TEXT 和 IMAGE 数据的最大长度(以字节为单位)。缺省设置为 32765,这是用 READTEXT 可返回的最大字节字符串。也可用 SET 语句设置该值。 |
@@thresh_hysteresis | 0(用于与 Transact-SQL 兼容。) |
@@timeticks | 0(用于与 Transact-SQL 兼容。) |
@@total_errors | 0(用于与 Transact-SQL 兼容。) |
@@total_read | 0(用于与 Transact-SQL 兼容。) |
@@total_write | 0(用于与 Transact-SQL 兼容。) |
@@tranchained | 当前事务模式;0(非链接模式)或 1(链接模式)。 |
@@trancount | 事务的嵌套级别。批处理中的各 BEGIN TRANSACTION 都增加事务计数。 |
@@transtate | -1(用于与 Transact-SQL 兼容。) |
@@version | SQL Anywhere 当前版本的版本号。 |
![]() |
使用DocCommentXchange讨论此页。
|
版权 © 2013, SAP 股份公司或其关联公司. - SAP Sybase SQL Anywhere 16.0 |