Параметры SET
В следующей таблице приведен список параметров инструкции SET (в алфавитном порядке) и соответствующие параметры сервера и базы данных, поддерживаемые Microsoft SQL Server 2005.
Параметр SET | Параметр базы данных | Параметр сервера | Параметр по умолчанию |
---|---|---|---|
Нет |
Нет |
Не применимо |
|
ANSI_NULL_DEFAULT |
Значение по умолчанию берется из user options |
OFF |
|
ANSI_NULLS |
Значение по умолчанию берется из user options |
OFF |
|
ANSI_PADDING |
Значение по умолчанию берется из user options |
ON |
|
ANSI_WARNINGS |
Значение по умолчанию берется из user options |
OFF |
|
ARITHABORT |
Значение по умолчанию берется из user options |
OFF |
|
нет |
Значение по умолчанию берется из user options |
OFF |
|
CONCAT_NULL_YIELDS_NULL |
нет |
OFF |
|
нет |
нет |
OFF |
|
CURSOR_CLOSE ON_COMMIT |
Значение по умолчанию берется из user options |
OFF |
|
Нет |
Нет |
7 |
|
Нет |
Нет |
mdy |
|
нет |
нет |
NORMAL |
|
нет |
нет |
OFF |
|
нет |
нет |
OFF |
|
нет |
нет |
OFF |
|
нет |
|
OFF |
|
нет |
Значение по умолчанию берется из user options |
OFF |
|
нет |
нет |
us_english |
|
Нет |
Нет |
Не ограничен |
|
Нет |
Значение по умолчанию берется из user options. |
OFF |
|
нет |
нет |
OFF |
|
NUMERIC_ROUNDABORT |
нет |
OFF |
|
нет |
нет |
OFF |
|
нет |
нет |
OFF |
|
нет |
query governor cost limit |
OFF |
|
Заключенный в кавычки идентификатор |
Значение по умолчанию берется из user options |
OFF |
|
нет |
нет |
OFF |
|
нет |
нет |
OFF |
|
нет |
нет |
OFF |
|
нет |
нет |
OFF |
|
нет |
нет |
OFF |
|
нет |
нет |
OFF |
|
нет |
нет |
OFF |
|
нет |
нет |
OFF |
|
нет |
нет |
OFF |
|
нет |
нет |
OFF |
|
Нет |
Нет |
н/д |
|
Нет |
Нет |
OFF |
Параметры SET времени синтаксического анализа и времени выполнения
Существует два типа параметров SET: времени синтаксического анализа и времени выполнения. Первые действуют, когда встречаются в тексте во время синтаксического анализа и не имеют отношение к управлению потоком инструкций. Вторые действуют во время выполнения кода, в котором они указаны. Если при выполнении кода ошибка возникает до инструкции SET, значение параметра не меняется. Если ошибка возникает после инструкции SET, параметру присваивается заданное значение.
К параметрам времени синтаксического анализа относятся QUOTED_IDENTIFIER, PARSEONLY, OFFSETS и FIPS_FLAGGER. Остальные параметры SET действуют во время выполнения.
Вызов инструкций SET QUOTED_IDENTIFIER и SET ANSI_NULLS внутри пакета или хранимой процедуры не влияет на их работу. Для инструкций используются значения, установленные при создании пакета или хранимой процедуры.
Продолжительность действия параметров инструкции SET
Этот раздел содержит сведения о продолжительности действия параметров SET.
- Параметры SET, установленные пользователем в сценарии, действуют до завершения сеанса пользователя или до тех пор, пока он их не сбрасывает.
- Параметры SET, установленные в хранимой процедуре или триггере, действуют до тех пор, пока элемент управления не возвращается вызвавшему их коду или параметр не сбрасывается в той же процедуре или триггере.
- Соединения, для которых включен режим MARS, поддерживают список значений по умолчанию для параметров SET. Если пакет выполняется в этих условиях, значения по умолчанию для параметров SET копируются в среду запроса. После завершения пакета среда восстанавливает значения параметров сеанса. В этом случае несколько пакетов, которые одновременно выполняются в одинаковых условиях, работают в изолированной для параметров SET среде.
Примечание. При использовании соединений, для которых включен режим MARS, если несколько пакетов одновременно пытаются изменить параметры среды, то значения по умолчанию будут зависеть от последнего завершенного пакета. - Если параметры SET не переустанавливаются явно, то все их значения, заданные в объемлющем коде, распространяются на вложенные хранимые процедуры или триггеры.
- Параметры SET, установленные пользователем в динамическом пакете SQL, действуют только во время его выполнения.
- Если параметры SET, установленные на уровне соединения, не переустанавливаются явно или неявно, они применяются при подключении к другой базе данных.
Примечание. Иногда при подключении к базе данных некоторые параметры могут быть автоматически включены, в зависимости от значений, заданных при предыдущем использовании user options, параметра сервера или значений, которые применяются ко всем соединениям ODBC и OLE DB.
Параметр SET для быстрой настройки
Инструкция Transact-SQL SET ANSI_DEFAULTS позволяет одновременно установить следующие параметры стандарта SQL-92:
- 7. SET ANSI_NULLS
- SET CURSOR_CLOSE_ON_COMMIT
- 2. SET ANSI_NULL_DFLT_ON
- 3. SET IMPLICIT_TRANSACTIONS
- 5. SET ANSI_PADDING
- 1. SET QUOTED_IDENTIFIER
- 6. SET ANSI_WARNINGS
Данный параметр переустанавливает значения перечисленных параметров. Установка отдельных параметров перезапишет значение, установленные быстрой настройкой.
Примечание. |
---|
Инструкция SET ANSI_DEFAULTS устанавливает не все параметры, соответствующие стандарту SQL-92. |
См. также
Основные понятия
Использование параметров в СУБД SQL Server