这些 ANSI(ISO)标准 SET 选项共同定义在用户查询、触发器运行或存储过程执行期间的查询处理环境。 但是,这些 SET 选项不包括符合 ISO 标准所需的所有选项。 使用此页可以指定Microsoft SQL Server 将使用 ISO 标准中指定的所有或部分设置运行查询。 对这些选项的更改仅适用于新的 SQL Server 查询。 若要更改当前查询的选项,请单击“查询”菜单上的“查询选项”,或在“SQL Server 查询”窗口中右键单击并选择“查询选项”。 在“ 查询选项 ”对话框中的“ 执行”下,单击 “ANSI”。
UI 元素列表
SET ANSI_DEFAULTS
选中此复选框可选中所有默认 ISO 设置。 默认情况下,并非所有 ISO 选项都处于选中状态。
SET QUOTED_IDENTIFIER
选中此复选框后,SQL Server 遵循有关引号分隔标识符和文本字符串的 ISO 规则。 用引号分隔的标识符可以是 Transact-SQL 保留关键字,也可以包含标识符的 Transact-SQL 语法规则通常不允许的字符。 默认情况下此复选框处于选中状态。
SET ANSI_NULL_DFLT_ON
设置此值后,在 CREATE TABLE 或 ALTER TABLE 语句期间未显式定义为 NOT NULL 的所有用户定义的数据类型或列默认允许 null 值。 默认情况下此复选框处于选中状态。
SET IMPLICIT_TRANSACTIONS
选中此复选框后,SET IMPLICIT_TRANSACTIONS将连接设置为隐式事务模式。 清除此复选框后,连接将恢复为自动提交事务模式。 若要查看选择时启动隐式事务的语句,请参阅 SET IMPLICIT_TRANSACTIONS (Transact-SQL)。 默认情况下会清除此检查框。
设置游标关闭提交
选中此复选框后,提交事务时,任何打开的游标都会自动关闭(符合 ISO)。 当此值设置为 OFF 时,游标在事务边界之间保持打开状态,仅在连接关闭或显式关闭时关闭。 默认情况下会清除此检查框。
设置 ANSI_PADDING
控制列存储比列定义大小短的值的名称的方式,以及如何在char、varchar、binary和varbinary数据类型中存储带尾随空白的值。 此设置仅影响新列的定义。 创建列后,SQL Server 会根据创建列时的设置存储值。 对此设置的后续更改不会影响现有列。 默认情况下此复选框处于选中状态。
SET ANSI_WARNINGS
为多个错误条件指定 ISO 标准行为:
选中此复选框后,如果聚合函数(如 SUM、AVG、MAX、MIN、STDEV、STDEVP、VAR、VARP 或 COUNT)中出现 null 值,则会生成警告消息。 当 OFF 时,不会发出任何警告。
取消选择此复选框后,除以零错误和算术溢出错误会导致事务回滚,并生成错误消息。 当为 OFF 时,除以零和算术溢出错误会导致返回的值为 null。 如果尝试对字符、Unicode或二进制列执行INSERT或UPDATE操作,而新值的长度超过列的最大大小时,则会导致出现除以零或算术溢出错误,从而返回空值。 如果 SET ANSI_WARNINGS 为 ON,则会根据 ISO 标准取消 INSERT 或 UPDATE 操作。 对于字符列,将忽略尾随空白;对于二进制列,将忽略尾随空值。 当设置为 OFF 时,数据将被截断为列的大小,并且语句执行成功。
默认情况下此复选框处于选中状态。
SET ANSI_NULLS
- 指定等于(=)和不等于(<>)比较运算符在与 null 值一起使用时的 ISO 合规行为。 选择 SET ANSI_NULLS后,与 null 值的所有比较结果为 UNKNOWN,符合 ISO 的行为。 如果未选择 SET ANSI_NULLS,则所有数据与 null 值的比较结果为 TRUE。 默认情况下此复选框处于选中状态。
重置为默认值
将此页上的所有值重置为原始默认值。