Eu li e li no MSDN, etc. Ok, então sinaliza o final de um lote.
O que define um lote? Não vejo por que preciso ir quando estou colando vários scripts para serem executados ao mesmo tempo.
Eu nunca entendi GO. Alguém pode explicar isso melhor e quando eu preciso usá-lo (depois de quantas ou que tipo de transações)?
Por exemplo, por que eu precisaria do GO após cada atualização aqui:
UPDATE [Country]
SET [CountryCode] = 'IL'
WHERE code = 'IL'
GO
UPDATE [Country]
SET [CountryCode] = 'PT'
WHERE code = 'PT'
gotambém redefine / limpa declare @foodeclarações de variáveis - eu estava conseguindo que você declarasse erros do @foo , até que comentei o go.