SET OFFSETS (Transact-SQL)

将 Transact-SQL 语句中指定关键字的偏移量(相对于语句起始点的位置)返回给 DB-Library 应用程序。

重要说明重要提示

后续版本的 Microsoft SQL Server 将删除该功能。 请避免在新的开发工作中使用该功能,并着手修改当前还在使用该功能的应用程序。

主题链接图标Transact-SQL 语法约定

语法

SET OFFSETS keyword_list { ON | OFF }

参数

  • keyword_list
    用逗号分隔的 Transact-SQL 构造列表,包括 SELECT、FROM、ORDER、COMPUTE、TABLE、PROCEDURE、STATEMENT、PARAM 和 EXECUTE。

注释

SET OFFSETS 只用在 DB-Library 应用程序中。

SET OFFSETS 的设置是在分析时设置,而不是在执行或运行时设置。在分析时进行设置意味着:SET 语句只要出现在批处理或存储过程中,该设置即生效,与代码执行实际上是否到达该点无关;并且 SET 语句在任何语句执行之前生效。例如,假设 SET 语句在 IF...ELSE 语句块中,而在执行过程中从未到达过该语句块,但由于分析了 IF...ELSE 语句块,因此 SET 语句仍生效。

如果在存储过程中设置 SET OFFSETS,则从存储过程返回控制后将还原 SET OFFSETS 的值。因此,动态 SQL 中指定的 SET OFFSETS 语句对动态 SQL 语句之后的任何语句无效。

如果 OFFSETS 选项为 ON 而且没有出现错误,则 SET PARSEONLY 返回偏移量。

权限

要求具有 public 角色的成员身份。