91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

T-SQL中常用的set語句

發布時間:2020-10-17 03:35:09 來源:網絡 閱讀:892 作者:AlunE 欄目:MySQL數據庫

1、SET ANSI_DEFAULTS { ON | OFF }
示例:

SET ANSI_DEFAULTS ON;  
DBCC USEROPTIONS;  
SET ANSI_DEFAULTS OFF;  

設置 SET ANSI_DEFAULTS ON 并使用 DBCC USEROPTIONS 語句顯示受影響的設置。

2、SET ANSI_NULLS { ON | OFF }
T-SQL 支持在與空值進行比較時,允許比較運算符返回 TRUE 或 FALSE。
ANSI_NULLS 設置不影響包含 NULL 的聯接列。聯接列中包含 NULL 的行不是結果集的一部分。
當 SET ANSI_NULLS 為 ON 時,即使 column_name 中包含空值,使用 WHERE column_name = NULL 的 SELECT 語句仍返回零行。 即使 column_name 中包含非空值,使用 WHERE column_name <> NULL 的 SELECT 語句仍會返回零行。

當 SET ANSI_NULLS 為 OFF 時,等于 (=) 和不等于 (<>) 比較運算符不遵守 ISO 標準。 使用 WHERE column_name = NULL 的 SELECT 語句返回 column_name 中包含空值的行。 使用 WHERE column_name <> NULL 的 SELECT 語句返回列中包含非空值的行。 此外,使用 WHERE column_name <> XYZ_value 的 SELECT 語句返回所有不為 XYZ_value 也不為 NULL 的行。

也就是說,設置為on是你只能這樣寫:where xx is null 或者 where xx is not null,而設置為off時可以寫成這樣:where xx = null 或者 where xx <> null
如果 SET ANSI_NULLS ON 那么 SQL 語句中, 判斷 非空的寫法, 要修改為:WHERE 字段 IS NULL。SET ANSI_NULLS ON 以后, NULL = NULL 將 返回 false.
3、SET ANSI_PADDING { ON | OFF }
當設置為ON時,不剪裁字符值中插入到varchar列的尾隨空格和二進制值中插入到varbinary列的尾隨零。不將值按列的長度進行填充。當設置為OFF時,剪裁varchar列的尾隨空格和varbinary列的尾隨零。該設置只影響新列的定義。
ANSI_PADDING為ON時,將允許空值的Char(n)和binary(n)列填充到列長;而當ANSI_PADDING為OFF時,將剪裁尾隨空格和零,始終將不允許空值的Char(n)和binary(n)列填充到列長。
4、SET ANSI_WARNINGS { ON | OFF }
ANSI_WARNINGS 可以影響下列情況:
設置為 ON 時,如果聚合函數(如 SUM、AVG、MAX、MIN、STDEV、STDEVP、VAR、VARP 或 COUNT)中出現空值,將生成警告消息。 設置為 OFF 時,不發出警告。
設置為 ON 時,被零除錯誤和算術溢出錯誤將導致回滾語句,并生成錯誤消息。 設置為 OFF 時,被零除錯誤和算術溢出錯誤將導致返回空值。 如果在 character、Unicode 或 binary 列上嘗試執行 INSERT 或 UPDATE 操作,而這些列中的新值長度超出最大列大小,則將出現被零除錯誤和算術溢出錯誤導致返回空值的行為。
如果 SET ANSI_WARNINGS 為 ON,則根據 ISO 標準,將取消 INSERT 或 UPDATE 操作。 字符列的尾隨空格和二進制列的尾隨零都將被忽略。 設置為 OFF 時,數據將剪裁為列的大小,并且語句執行成功。
5、SET ARITHABORT { ON | OFF }
在查詢執行過程中發生溢出或被零除錯誤時終止查詢。
如果 SET ARITHABORT 為 ON,則這些錯誤情況將導致查詢或批處理終止。如果在事務內發生錯誤,則回滾事務。如果 SET ARITHABORT 為 OFF 并且發生了這些錯誤之一,則顯示一條警告消息,并給算術運算的結果賦以空值。
說明 如果 SET ARITHABORT 和 SET ARITHIGNORE 都沒有設置,則 Microsoft? SQL Server? 將在執行查詢后返回 NULL 和一條警告信息。
如果 SET ARITHABORT 為 OFF 并且在對表達式的求值過程中 INSERT、DELETE 或 UPDATE 語句遇到算術錯誤(溢出、被零除或域錯誤),SQL Server 將插入或更新 NULL 值。如果目標列不可為空,則插入或更新操作失敗并且用戶收到錯誤信息。
如果 SET ARITHABORT 或 SET ARITHIGNORE 為 OFF,并且 SET ANSI_WARNINGS 為 ON,則當遇到被零除或溢出錯誤時,SQL Server 仍返回錯誤信息。
SET ARITHABORT 的設置是在執行或運行時設置,而不是在分析時設置。
在計算列或索引視圖上創建或操作索引時,SET ARITHABORT 必須為 ON。如果 SET ARITHABORT 為 OFF,計算列或索引視圖上帶索引的表上的 CREATE、UPDATE、INSERT 和 DELETE 語句將失敗。有關計算列上的索引視圖和索引所必需的 SET 選項設置的更多信息,請參見 SET 中的"使用 SET 語句時的注意事項"。
權限:
SET ARITHABORT 權限默認授予所有用戶。
6、SET ARITHIGNORE { ON | OFF }
控制在查詢執行過程中是否從溢出或被零除錯誤返回錯誤信息。
SET ARITHIGNORE 設置僅控制是否返回錯誤信息。不論該設置是什么,Microsoft? SQL Server? 都將在包含溢出或被零除錯誤的計算中返回 NULL。可以使用 SET ARITHABORT 設置確定是否終止查詢。該設置不影響在 INSERT、UPDATE 和 DELETE 語句執行過程中發生的錯誤。
如果 SET ARITHABORT 或 SET ARITHIGNORE 為 OFF,并且 SET ANSI_WARNINGS 為 ON,則當遇到被零除或溢出錯誤時,SQL Server 仍返回錯誤信息。
SET ARITHIGNORE 的設置是在執行或運行時設置,而不是在分析時設置。
權限
SET ARITHIGNORE 權限默認授予所有用戶。
7、SET CONCAT_NULL_YIELDS_NULL { ON | OFF }
將串聯結果視為 Null 還是空字符串值。
當是NULL或空字符串時控制是否連接字符串值。
例如:
將 SET 選項 CONCAT_NULL_YIELDS_NULL 設置為 ON 之后,表達式 'abc' + NULL 返回的值是 NULL。
而將 CONCAT_NULL_YIEDS_NULL 設置為 OFF 之后,該表達式得出的結果卻是 'abc'。
8、SET CURSOR_CLOSE_ON_COMMIT { ON | OFF }
表示提交事務時服務器將不會關閉游標。
When SET CURSOR_CLOSE_ON_COMMIT is ON, this setting closes any open cursors on commit or rollback in compliance with ISO.如果 SET CURSOR_CLOSE_ON_COMMIT 為 ON,此設置將遵從 ISO 標準,在提交或回滾時關閉所有打開的游標。 如果 SET CURSOR_CLOSE_ON_COMMIT 為 OFF,則在提交事務時將不關閉游標。
9、SET DATEFIRST { number | @number_var }
number | @number_var 是一個整數,表示一周的第一天,可以是下列值中的一個:

一周的第一天是
1 星期一
2 星期二
3 星期三
4 星期四
5 星期五
6 星期六
7(默認值,美國英語) 星期日

注釋:
使用 @@DATEFIRST 函數檢查 SET DATEFIRST 的當前設置。
SET DATEFIRST 的設置是在執行或運行時設置,而不是在分析時設置。
權限:SET DATEFIRST 權限默認授予所有用戶。
10、SET DEADLOCK_PRIORITY { LOW | NORMAL | HIGH | <numeric-priority> | @deadlock_var | @deadlock_intvar }
<numeric-priority> ::= { -10 | -9 | -8 | … | 0 | … | 8 | 9 | 10 }
控制在發生死鎖情況時會話的反應方式。如果兩個進程都鎖定數據,并且直到其它進程釋放自己的鎖時,每個進程才能釋放自己的鎖,即發生死鎖情況。
參數:
LOW
指定當前會話為首選死鎖犧牲品。Microsoft? SQL Server? 自動回滾死鎖犧牲品的事務,并給客戶端應用程序返回 1205 號死鎖錯誤信息。NORMAL
指定會話返回到默認的死鎖處理方法。
@deadlock_var
br/>NORMAL
指定會話返回到默認的死鎖處理方法。
@deadlock_var
注釋:SET DEADLOCK_PRIORITY 的設置是在執行或運行時設置,而不是在分析時設置。
權限:SET DEADLOCK_PRIORITY 權限默認授予所有用戶。
11、SET LOCK_TIMEOUT timeout_period
指定語句等待鎖釋放的毫秒數。
參數:
timeout_period
是在 Microsoft? SQL Server? 返回鎖定錯誤前經過的毫秒數。值為 -1(默認值)時表示沒有超時期限(即無限期等待)。
當鎖等待超過超時值時,將返回錯誤。值為 0 時表示根本不等待,并且一遇到鎖就返回信息。
注釋:
在連接開始時,該設置的值為 -1。設置更改后,新設置在其余的連接時間里一直有效。
SET LOCK_TIMEOUT 的設置是在執行或運行時設置,而不是在分析時設置。
READPAST 鎖定提示為該 SET 選項提供了另一種方式。
權限:SET LOCK_TIMEOUT 權限默認授予所有用戶。
示例:
下例將鎖超時期限設置為 1,800 毫秒。
SET LOCK_TIMEOUT 1800
12、SET NOCOUNT { ON | OFF }
阻止在結果集中返回顯示受 Transact-SQL 語句或存儲過程影響的行計數的消息。
注釋:
當 SET NOCOUNT 為 ON 時,不返回計數。 當 SET NOCOUNT 為 OFF 時,返回計數。
The @@ROWCOUNT function is updated even when SET NOCOUNT is ON.@@ROWCOUNT函數將更新,即使在 SET NOCOUNT ON。
當 SET NOCOUNT 為 ON 時,將不向客戶端發送存儲過程中每個語句的 DONE_IN_PROC 消息。 如果存儲過程中包含一些并不返回許多實際數據的語句,或者如果過程包含 Transact-SQL 循環,網絡通信流量便會大量減少,因此,將 SET NOCOUNT 設置為 ON 可顯著提高性能。
SET NOCOUNT 指定的設置是在執行或運行時生效,而不是在分析時生效。
13、SET NOEXEC { ON | OFF }
編譯每個查詢但不執行。
注釋:
當 SET NOEXEC 為 ON 時, SQL Server 將編譯每一批 Transact-SQL 語句但并不執行它們。 當 SET NOEXEC 設置為 OFF 時,所有批處理將在編譯后執行。
SQL Server 中的語句執行包含兩個階段:編譯和執行。 該設置可用于讓 SQL Server 在執行 Transact-SQL 代碼時,驗證代碼中的語法和對象名。 它也可以用于調試通常是較大的批處理中的部分語句。
SET NOEXEC 設置是在執行或運行時設置的,而不是在分析時設置的。
權限:要求具有 public 角色的成員身份。
14、SET PARSEONLY { ON | OFF }
檢查每個 Transact-SQL 語句的語法并返回任何錯誤消息,但不編譯和執行語句。
注釋:
當 SET PARSEONLY 為 ON 時, SQL Server 只分析語句。 當 SET PARSEONLY 為 OFF 時, SQL Server 編譯并執行語句。
SET PARSEONLY 的設置是在分析時設置,而不是在執行或運行時設置。
在存儲過程或觸發器中不要使用 PARSEONLY。 如果 OFFSETS 選項為 ON 而且沒有出現錯誤,則 SET PARSEONLY 返回偏移量。
權限:Requires membership in the public role.要求 公共 角色具有成員身份。
15、SET SHOWPLAN_ALL { ON | OFF }
Causes Microsoft SQL ServerSQL Server not to execute Transact-SQLTransact-SQL statements.使 Microsoft SQL ServerSQL Server 不執行 Transact-SQL 語句。 SQL Server 返回有關語句執行情況的詳細信息,并估計語句對資源的需求。
注釋:
SET SHOWPLAN_ALL 的設置是在執行或運行時設置,而不是在分析時設置。
如果 SET SHOWPLAN_ALL 為 ON,則 SQL Server 將返回每個語句的執行信息但不執行語句。 Transact-SQL 語句不會被執行。 在將此選項設置為 ON 后,將始終返回有關所有后續 Transact-SQL 語句的信息,直到將該選項設置為 OFF 為止。 例如,如果在 SET SHOWPLAN_ALL 為 ON 時執行 CREATE TABLE 語句,則 SQL Server 將從涉及同一個表的后續 SELECT 語句返回錯誤信息,告知用戶指定的表不存在。 因此,對此表的后續引用將失敗。 如果 SET SHOWPLAN_ALL 為 OFF,則 SQL Server 將執行語句,但不生成報表。
SET SHOWPLAN_ALL 是供為處理其輸出而編寫的應用程序使用的。 使用 SET SHOWPLAN_TEXT 返回對于 Microsoft Win32 命令提示符下應用程序,可讀的輸出,例如osql實用程序。
不能在存儲過程內指定 SET SHOWPLAN_TEXT 和 SET SHOWPLAN_ALL,它們必須是批處理中的唯一語句。
16、SET SHOWPLAN_TEXT { ON | OFF }
Causes Microsoft SQL ServerSQL Server not to execute Transact-SQLTransact-SQL statements.使 Microsoft SQL Server 不執行 Transact-SQL 語句。 而是由 SQL Server 返回有關如何執行語句的詳細信息。
注釋:
SET SHOWPLAN_TEXT 的設置是在執行或運行時設置的,而不是在分析時設置的。
When SET SHOWPLAN_TEXT is ON, SQL ServerSQL Server returns execution information for each Transact-SQLTransact-SQL statement without executing it.當 SET SHOWPLAN_TEXT 為 ON 時, SQL ServerSQL Server 將返回每個 Transact-SQL 語句的執行信息,但不執行語句。 將該選項設置為 ON 以后,將返回有關所有后續 SQL Server 語句的執行計劃信息,直到將該選項設置為 OFF 為止。 例如,如果在 SET SHOWPLAN_TEXT 為 ON 時執行 CREATE TABLE 語句, SQL Server 將從涉及同一個表的后續 SELECT 語句返回錯誤信息,以便通知用戶:指定的表不存在。 因此,對此表的后續引用將失敗。 如果 SET SHOWPLAN_TEXT 是 OFF, SQL Server 將執行語句,但不生成包含執行計劃信息的報表。
設置 set SHOWPLAN_TEXT 旨在返回 Microsoft Win32 命令提示符下應用程序的可讀的輸出,例如osql實用程序。 SET SHOWPLAN_ALL 則返回更詳細的輸出,以使專門處理其輸出的程序進行處理。
17、SET STATISTICS IO { ON | OFF }
注釋:
如果 STATISTICS IO 為 ON,則顯示統計信息。 如果為 OFF,則不顯示統計信息。
After this option is set ON, all subsequent Transact-SQLTransact-SQL statements return the statistical information until the option is set to OFF.如果將此選項設置為 ON,則所有后續的 Transact-SQL 語句將返回統計信息,直到將該選項設置為 OFF 為止。
18、SET STATISTICS TIME { ON | OFF }
顯示分析、編譯和執行各語句所需的毫秒數。
注釋:
當 SET STATISTICS TIME 為 ON 時,會顯示語句的時間統計信息。 為 OFF 時,不顯示時間統計信息。
SET STATISTICS TIME 的設置是在執行或運行時設置,而不是在分析時設置。
Microsoft SQL Server無法提供精確的統計信息在纖程模式下,當你啟用激活輕型池配置選項。
Cpu中的列sysprocesses查詢執行使用 SET STATISTICS TIME ON 時,才會更新表。 OFF,SET STATISTICS TIME 時0返回。
ON 和 OFF 設置還影響 SQL Server Management Studio 內的“當前活動的進程信息視圖”中的 CPU 列。
19、SET XACT_ABORT { ON | OFF }
注釋:
當 SET XACT_ABORT 為 ON 時,如果執行 Transact-SQL 語句產生運行時錯誤,則整個事務將終止并回滾。
當 SET XACT_ABORT 為 OFF 時,有時只回滾產生錯誤的 Transact-SQL 語句,而事務將繼續進行處理。 如果錯誤很嚴重,那么即使 SET XACT_ABORT 為 OFF,也可能回滾整個事務。 OFF 是默認設置。
編譯錯誤(如語法錯誤)不受 SET XACT_ABORT 的影響。
對于大多數 OLE DB 訪問接口(包括 SQL Server),必須將隱式或顯示事務中的數據修改語句中的 XACT_ABORT 設置為 ON。 唯一不需要該選項的情況是在提供程序支持嵌套事務時。
當 ANSI_WARNINGS=OFF 時,違反權限的行為導致事務中止。
SET XACT_ABORT 的設置是在執行或運行時設置,而不是在分析時設置。
要查看此設置的當前設置,請運行以下查詢。

DECLARE @XACT_ABORT VARCHAR(3) = 'OFF';  
IF ( (16384 & @@OPTIONS) = 16384 ) SET @XACT_ABORT = 'ON';  
SELECT @XACT_ABORT AS XACT_ABORT;
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

林口县| 阿巴嘎旗| 明光市| 桦南县| 河西区| 正宁县| 崇礼县| 花莲市| 潮安县| 怀远县| 邯郸市| 井研县| 山东省| 巫溪县| 镶黄旗| 临颍县| 若羌县| 望都县| 长丰县| 武平县| 聊城市| 衡山县| 庄浪县| 玛多县| 甘德县| 丽江市| 彩票| 精河县| 康马县| 泾源县| 两当县| 蒙山县| 株洲市| 万年县| 曲麻莱县| 乐都县| 郸城县| 安吉县| 西丰县| 阿瓦提县| 临清市|