[英]What's the meaning of the GO-statement in TSQL
我是TSQL的新手,想知道GO
語句的真正含義。 對我來說,它似乎只是在那里似乎適合。
我想它以某種方式告訴sql server運行前一個語句? 如果您根本不使用它們會發生什么? 如果我不使用GO
有人可以給出一個聲明將會中斷的示例。
請詳細說明。
它是批量終止符
這會打破
declare @i int
set @i =5
declare @i int
set @i =6
Select @i
消息134,級別15,狀態1,行5變量名稱'@i'已經聲明。 變量名在查詢批處理或存儲過程中必須是唯一的。
這會奏效
declare @i int
set @i =5
go
declare @i int
set @i =6
Select @i
它結束批次。
它很少需要,而且使用頻率遠遠超過它應該使用的頻率。 一個有效的地方是存儲過程編程,你首先檢查proc是否存在,如果不存在則刪除它。 然后使用go語句結束批處理,因為create proc語句必須是批處理的第一個語句。
順便說說。 它實際上不是TSQL命令。 它只是由Microsoft DB工具用於分隔兩批命令。
實際上,如果您想在Optionss..Batch分離首選項設置下,可以將其配置為SSMS中的不同單詞。
這種區別很重要的主要地方是,如果您嘗試通過代碼中的數據庫連接(例如通過ADO.NET)在查詢中使用它們,那么SQL將會阻塞GO語句。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.