首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

深入理解 SQL Server 批次處理機制與錯誤行為

     編輯:關於SqlServer

批次是由一或多條 Transact-SQL 陳述式組成,從應用程式一次送至 SQL Server 2005 執行。SQL Server 會將批次編譯為單一執行計畫,陳述式在計畫中逐條執行。

編譯與執行階段錯誤

  • 編譯錯誤(如語法錯誤)會導致執行計畫無法產生,整個批次完全不執行。
  • 執行階段錯誤(如算術溢位、違反條件約束)有兩種影響:
    • 大多數錯誤會停止當前陳述式及後續所有陳述式。
    • 部分錯誤(如違反條件約束)僅停止當前陳述式,繼續執行後續陳述式。

錯誤發生前已完成的陳述式不受影響,除非批次在交易中且錯誤導致交易回滾,才會復原先前未認可的資料修改。

批次限制規則

  • CREATE DEFAULT、CREATE FUNCTION、CREATE PROCEDURE、CREATE RULE、CREATE TRIGGER、CREATE VIEW 不能與其他陳述式混用,批次必須以該 CREATE 陳述式開頭,後續陳述式視為其定義一部分。
  • 同一批次中不可先變更資料表結構,再參考新增的資料行。
  • 若 EXECUTE 為批次第一句,可省略關鍵字;否則必須加上 EXECUTE。

安全性提醒

批次檔案可能包含純文字儲存的認證,執行時認證可能回顯於使用者螢幕,需注意權限管控。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved