SQL GO語句

    GO是批處理的標誌,是一條或多條SQL語句的集合,SQL Server將批處理語句編譯成一個可執行單元,此單元稱爲執行計劃。
    如果只是執行一條語句,有沒有GO都一樣,如果多條語句之間用GO分隔開就不一樣了,每個被GO分隔的語句都是一個單獨的事務,一個語句執行失敗不會影響其它語句執行。
    GO語句把程序分成一個個代碼塊,即使一個代碼塊執行錯誤,它後面的代碼塊任然會執行。
    每個被GO分隔的語句都是獨立的事務,一個語句執行失敗不會影響其它語句執行:

select * from dbo.abc
select * from dbo.test

    假設第一個查詢失敗了,那麼第二個查詢也不會執行,即沒有任何加過返回。但是如果加上GO語句:

select * from dbo.abc
go
select * from dbo.test

    假設第一個查詢失敗了,第二查詢的結果依舊會返回
    也就是說,GO是分批處理的意思,語句太長的時候使用它分批處理,go前面失敗的語句,不影響後面語句的執行。

    當然,GO語句還可以這樣用:

go N
select * from dbo.test

    N是常數,代表以下語句重複執行N次

總結:

    1. GO代表一個批處理的結束
    2. 你可以把每個GO之間的語句當成是一句SQL
    3. GO不是標準的語法,只是查詢分析器爲了區分多個批處理而設的分隔符而已;
    4. 批處理sql語句時,常在語句的結尾加入Go,Go在語句中可以界定一段語句的結尾,如變量的作用範圍等。在Go 語句之前加入Return 可以跳出Go 語句段。break可以跳出While 循環。
    5. 事務是一種機制,是一個操作序列,他包含了一組數據庫操作命令,並且所有的命令作爲一個整體一起向系統提交或者撤消操作請求,就是說這一組數據庫命令要麼都執行,要麼都不執行!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章