Параметры (выполнение запроса / SQL Server / страница ANSI)

Все вместе эти параметры SET стандарта ANSI (ISO) определяют среду обработки запроса на время выполнения пользовательского запроса, триггера или хранимой процедуры. Однако эти параметры SET включают не все возможности, необходимые для соответствия стандарту ISO. Эта страница позволяет указать, что MicrosoftSQL Server будет выполнять запросы с использованием всех или части параметров, заданных в стандарте ISO. Изменения этих параметров применяются только к новым запросам SQL Server. Для изменения установок текущих запросов щелкните пункт Параметры запроса в меню Запрос или щелкните правой кнопкой мыши окно «Запрос SQL Server» и выберите пункт Параметры запроса. В диалоговом окне Параметры запроса в разделе Выполнение щелкните ANSI.

  • SET ANSI_DEFAULTS
    Установите этот флажок, чтобы выбрать все параметры ISO, используемые по умолчанию. По умолчанию выбираются не все параметры ISO.

  • SET QUOTED_IDENTIFIER
    Если этот флажок установлен, SQL Server следует правилам ISO по использованию кавычек в качестве разделителей идентификаторов и символьных строк. Идентификаторы, разделенные кавычками, могут либо быть зарезервированными ключевыми словами языка Transact-SQL, либо содержать символы, обычно не допускаемые правилами синтаксиса языка Transact-SQL для идентификаторов. Этот флажок устанавливается по умолчанию.

  • SET ANSI_NULL_DFLT_ON
    При установке этого флажка все пользовательские типы данных или столбцы, не определенные явно как NOT NULL в инструкциях CREATE TABLE или ALTER TABLE, будут по умолчанию допускать значения NULL. Этот флажок устанавливается по умолчанию.

  • SET IMPLICIT_TRANSACTIONS
    Если этот флажок установлен, инструкция SET IMPLICIT_TRANSACTIONS устанавливает соединение в режим неявной транзакции. Если этот флажок снят, соединение возвращается в режим автоматического сохранения транзакций. Сведения об инструкциях, запускающих неявные транзакции, см. в разделе SET IMPLICIT_TRANSACTIONS (Transact-SQL). Этот флажок по умолчанию снят.

  • SET CURSOR_CLOSE_ON_COMMIT
    Если этот флажок установлен, то при фиксации транзакции все открытые курсоры автоматически закрываются (в соответствии с ISO). Если этот флажок не установлен, курсоры при фиксации транзакции остаются открытыми и закрываются только при закрытии соединения или при явном закрытии курсора. По умолчанию этот флажок снят.

  • SET ANSI_PADDING
    Управляет тем, как столбец хранит имена значений короче, чем определенный размер столбца, и тем, как столбец хранит значения с завершающими пробелами в данных char, varchar, binary и varbinary. Эти установки будут изменять определения только вновь создаваемых столбцов. После создания столбца SQL Server сохраняет значения на основе установок на момент создания столбца. Более поздние изменения этой установки не влияют на существующие столбцы. Этот флажок устанавливается по умолчанию.

  • SET ANSI_WARNINGS
    Задает поведение в соответствии со стандартом ISO для некоторых условий ошибок:

    • При установке флажка, если в статистических функциях (SUM, AVG, MAX, MIN, STDEV, STDEVP, VAR, VARP или COUNT) встречаются значения NULL, создается предупреждение. Если свойство отключено, предупреждения не выдаются.

    • Если этот флажок снят, ошибки деления на нуль и арифметического переполнения приводят к откату инструкции и выводу сообщения об ошибке. При снятии флажка происходит возврат значений NULL при ошибке деления на нуль и арифметического переполнения. Ошибки деления на нуль и арифметического переполнения приводят к возврату значений NULL, если операции INSERT или UPDATE применяются к столбцу типа character, Unicode или binary и длина нового значения превышает максимальный размер для этого столбца. Если параметр SET ANSI_WARNINGS равен ON, операция INSERT или UPDATE отменяется согласно стандарту ISO. Завершающие пробелы для символьных столбцов и завершающие нули для двоичных столбцов игнорируются. Если параметр имеет значение OFF, то происходит усечение данных по размеру столбца и инструкция успешно выполняется.

    Этот флажок устанавливается по умолчанию.

  • SET ANSI_NULLS

    • Позволяет задать поведение операторов сравнения «Равно» (=) и «Не равно» (<>) в соответствии со стандартом ISO, если эти операторы используются со значениями NULL. Если флажок SET ANSI_NULLS установлен, то согласно стандарту ISO все сравнения со значением NULL дают результат UNKNOWN. Если флажок SET ANSI_NULLS не установлен, все сравнения со значением NULL дают значение TRUE. По умолчанию этот флажок установлен.
  • По умолчанию
    Производится установка всех исходных значений этой страницы по умолчанию.