控制一組可共同指定某些 SQL-92 標準行為的 Microsoft® SQL Server™ 設置。
SET ANSI_DEFAULTS { ON | OFF }
當啟用 (ON) 時,該選項將啟用下列 SQL-92 設置:
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 |
這些 SQL-92 標準 SET 選項共同為用戶工作會話、運行的觸發(fā)器或存儲過程定義執(zhí)行期間的查詢處理環(huán)境。然而,這些 SET 選項不包括遵從 SQL-92 標準所需的所有選項。
在處理計算列和索引視圖上的索引時,必須將這四個默認選項(ANSI_NULLS、ANSI_PADDING、ANSI_WARNINGS 和 QUOTED_IDENTIFIER)設置為 ON。這些默認選項是在計算列和索引視圖上創(chuàng)建和操作索引時必須賦給所需值的七個 SET 選項中的一部分。另外三個 SET 選項是:ARITHABORT (ON)、CONCAT_NULL_YIELDS_NULL (ON) 和 NUMERIC_ROUNDABORT (OFF)。有關計算列上的索引視圖和索引所必需的 SET 選項設置的更多信息,請參見 SET 中的"使用 SET 語句時的注意事項"。
SQL Server ODBC 驅(qū)動程序和用于 SQL Server 的 Microsoft OLE DB 提供程序在連接時自動將 ANSI_DEFAULTS 設置為 ON。然后,驅(qū)動程序和提供程序?qū)?CURSOR_CLOSE_ON_COMMIT 和 IMPLICIT_TRANSACTIONS 設置為 OFF。SET CURSOR_CLOSE_ON_COMMIT 和 SET IMPLICIT_TRANSACTIONS 的 OFF 設置可以在 ODBC 數(shù)據(jù)源、ODBC 連接特性或 OLE DB 連接屬性(它們在連接到 SQL Server 之前在應用程序中設置)中進行配置。對來自 DB-Library 應用程序的連接,SET ANSI_DEFAULTS 默認為 OFF。
當發(fā)出 SET ANSI_DEFAULTS 時,SET QUOTED_IDENTIFIER 在分析時設置,下列選項則在執(zhí)行時設置:
SET ANSI_NULLS | SET ANSI_WARNINGS |
SET ANSI_NULL_DFLT_ON | SET CURSOR_CLOSE_ON_COMMIT |
SET ANSI_PADDING | SET IMPLICIT_TRANSACTIONS |
SET ANSI_DEFAULTS 權限默認授予所有用戶。
下例設置 SET ANSI_DEFAULTS ON,并使用 DBCC USEROPTIONS 語句顯示受影響的設置。
-- SET ANSI_DEFAULTS ON.
SET ANSI_DEFAULTS ON
GO
-- Display the current settings.
DBCC USEROPTIONS
GO
-- SET ANSI_DEFAULTS OFF.
SET ANSI_DEFAULTS OFF
GO
相關文章