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

SQLServer中批處理的知識點

編輯:關於SqlServer

       批處理是一個邏輯單元的一組T-sql語句。

      為了將一個腳本分為多個批處理,可以使用GO語句。

      1. GO語句必須自成一行。

      2. GO語句使得每個批處理是單獨發送到服務器的,與其他的批處理器無關。(這裡面的執行方案很可能是並發的,所以在很多的情況下,可能需要考慮順序問題)

      3. GO語句不是T-sql命令,而是由各種SQLServer命令適用成型的識別命令。

      批處理中的錯誤:

      1. 語法錯誤,在執行之前就會被檢測。

      2. 運行時錯誤,只能在運行之後(或者之中)被檢測到,一般是違反了完整性等錯誤。

      要求有自己批處理的語句:

      1. Create Default

      2. Create Procedure

      3. Create Rule

      4. Create Trigger

      5. Create View

      注:如果想在單獨的腳本中將這些語句組合,則需要通過使用GO語句來將它們分散到各自的批處理中。

      EXEC的陷阱:

      1. Exec和調用它的代碼都在單獨的作用域下運行——也就是說,調用代碼不能引用EXEC語句中的變量,並且在調用代碼中的變量被解析為用於EXEC語句的字符串之後,EXEC不能引用這些變量。如果需要在動態SQL和調用它的例程間傳遞值,考慮使用SQL-executeSQL。

      2. 默認情況下,EXEC在當前用戶的安全上下文下運行——而不是調用對象的安全上下文。(對象經常在對象所有者的上下文運行,而不是當前用戶)

      3. EXEC與調用對象運行在相同的連接和事務環境下。

      4. 對EXEC字符串執行的要求函數調用的串聯必須先於實際調用的EXEC的語句——不能在執行EXEC調用的相同語句中執行函數串聯。

      5. EXEC不能再用戶自定義函數內使用。

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