SQL Server中批處理的知識點

來源:互聯網
上載者:User

批處理是一個邏輯單元的一組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不能再使用者自訂函數內使用。



相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.