O SQL Server Management Studio sempre insere um comando GO quando eu crio uma consulta usando o botão direito do mouse no menu "Script Como". Por quê? O que o GO realmente faz?
sql-server
tsql
ssms
tvanfosson
fonte
fonte
Respostas:
É um terminador de lote, mas você pode alterá-lo para o que quiser
fonte
Desde o Management Studio 2005, parece que você pode usar
GO
com umint
parâmetro, como:O acima irá inserir 10 linhas em
mytable
. De um modo geral,GO
executará osn
tempos dos comandos sql relacionados .fonte
O comando GO não é uma instrução Transact-SQL, mas um comando especial reconhecido por vários utilitários da MS, incluindo o editor de código do SQL Server Management Studio.
O comando GO é usado para agrupar comandos SQL em lotes que são enviados ao servidor juntos. Os comandos incluídos no lote, ou seja, o conjunto de comandos desde o último comando GO ou o início da sessão, devem ser logicamente consistentes. Por exemplo, você não pode definir uma variável em um lote e usá-la em outro, pois o escopo da variável é limitado ao lote em que está definido.
Para mais informações, consulte http://msdn.microsoft.com/en-us/library/ms188037.aspx .
fonte
GO
realmente úteis?GO não é uma palavra-chave SQL.
É um separador de lotes usado pelas ferramentas do cliente (como SSMS) para dividir o script inteiro em lotes
Respondido antes várias vezes ... exemplo 1
fonte
Apenas para adicionar às respostas existentes, ao criar visualizações, você deve separar esses comandos em lotes usando
go
, caso contrário, você receberá o erro'CREATE VIEW' must be the only statement in the batch
. Portanto, por exemplo, você não poderá executar o seguinte script sql semgo
fonte
Go significa que quaisquer instruções SQL escritas antes e depois de qualquer GO anterior serão enviadas ao SQL Server para processamento.
No exemplo acima, as instruções antes do GO 1 irão para o sql sever em um lote e, em seguida, quaisquer outras instruções antes do GO 2 irão para o sql server em outro lote. Então, como vemos, ele separou lotes.
fonte
O código diz para executar as instruções acima do
GO
marcador. Meu banco de dados padrão é myDatabase, portanto, em vez de usarmyDatabase GO
e faz a consulta atual para usar o herDatabasefonte
Aqui está a mágica do GO.
Sintaxe: INT
(BatchNumber)
BatchNumber: nenhum dos momentos ocorreu
Parece simples, pode levar você ao Spaghetti se você codificar mais profundamente.
fonte