Соответствие стандарту ANSI SQL 92

В MS SQL Server имеются настройки, позволяющие изменять степень соответствия сервера стандарту ANSI SQL 92.
SET ANSI_NULLS {ON|OFF} – регулирует результат сравнения значений, содержащих NULL. Если ANSI_NULLS = OFF, то запрос

SELECT * FROM MyTable WHERE MyField = NULL

Вернет все строки, в которых MyField установлено в NULL. Если ANSI_NULLS = OFF, то, в соответствии со стандартом ANSI SQL92 сравнение с NULL возвращает UNKNOWN. Другие установки, на которые следует обратить внимание:
SET CURSOR_CLOSE_ON_COMMIT Устанавливает режим закрытия курсоров по завершению транзакции
SET ANSI_NULL_DFLT_ON и SET ANSI_NULL_DFLT_OFF Устанавливают nullability полей по умолчанию при создании таблицы
SET IMPLICIT_TRANSACTIONS Устанавливает режим Autocommit
SET ANSI_PADDING Устанавливает режим «отсечения» концевых пробелов для вновь создаваемых полей
SET QUOTED_IDENTIFIER Разрешает выделение идентификаторов двойными кавычками
SET ANSI_WARNINGS Устанавливает реакцию на математические ошибки
Рассмотрение этих параметров выходит за рамки книги, однако необходимо обратить на них внимание при чтении документации.
Установка SET ANSI_DEFAULTS устанавливает режим максимальной совместимости с ANSI SQL92. При установке SET ANSI_DEFAULTS ON устанавливаются в ON следующие параметры:
SET ANSI_NULLS SET CURSOR_CLOSE_ON_COMMIT
SET ANSI_NULL_DFLT_ON SET IMPLICIT_TRANSACTIONS
SET ANSI_PADDING SET QUOTED_IDENTIFIER
SET ANSI_WARNINGS
По умолчанию ANSI_DEFAULTS = ON для клиентов ODBC и OLE DB (ADO) и OFF для клиента DB-Library (BDE). Поскольку предпочтительным (и поддерживаемым в будущем) методом доступа является OLE DB, то при разработке клиентской части, использующей BDE, рекомендуется явно устанавливать SET ANSI_DEFAULTS ON. С разностью этой установки связана и проблема, возникающая при разработке запросов при помощи Query Analyzer. Если в нем и в клиентском приложении имеются разные настройки совместимости с ANSI – одни и те же запросы могут выдавать разные результаты. Поэтому рекомендуется проверять настройки Query Analyzer на предмет соответствия их тем, что предполагается иметь в клиенте.

Отправить комментарий

Проверка
Антиспам проверка
Image CAPTCHA
...