程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

批處理

編輯:關於SqlServer

批處理是包含一個或多個 Transact-SQL 語句的組,從應用程序一次性地發送到 SQL Server 2005 進行執行。SQL Server 將批處理的語句編譯為一個可執行單元,稱為執行計劃。執行計劃中的語句每次執行一條。

編譯錯誤(如語法錯誤)可使執行計劃無法編譯。因此未執行批處理中的任何語句。

運行時錯誤(如算術溢出或違反約束)會產生以下兩種影響之一:

  • 大多數運行時錯誤將停止執行批處理中當前語句和它之後的語句。

  • 某些運行時錯誤(如違反約束)僅停止執行當前語句。而繼續執行批處理中其他所有語句。

在遇到運行時錯誤之前執行的語句不受影響。唯一的例外是如果批處理在事務中而且錯誤導致事務回滾。在這種情況下,回滾運行時錯誤之前所進行的未提交的數據修改。

假定在批處理中有 10 條語句。如果第五條語句有一個語法錯誤,則不執行批處理中的任何語句。如果編譯了批處理,而第二條語句在執行時失敗,則第一條語句的結果不受影響,因為它已經執行。

以下規則適用於批處理:

  • CREATE DEFAULT、CREATE FUNCTION、CREATE PROCEDURE、CREATE RULE、CREATE TRIGGER 和 CREATE VIEW 語句不能在批處理中與其他語句組合使用。批處理必須以 CREATE 語句開始。所有跟在該批處理後的其他語句將被解釋為第一個 CREATE 語句定義的一部分。

  • 不能在同一個批處理中更改表,然後引用新列。

  • 如果 EXECUTE 語句是批處理中的第一句,則不需要 EXECUTE 關鍵字。如果 EXECUTE 語句不是批處理中的第一條語句,則需要 EXECUTE 關鍵字。

安全性:批處理文件可能包含以純文本存儲的憑據。在批處理執行期間,憑據可能會回顯到用戶屏幕上

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved