Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Qual é a diferença entre; e GO em T-SQL?


GO não é realmente um comando T-SQL. O GO O comando foi introduzido pelas ferramentas da Microsoft como uma maneira de separar instruções em lote, como o final de um procedimento armazenado. GO é suportado pelas ferramentas de pilha do Microsoft SQL, mas não faz parte formalmente de outras ferramentas.

Você não pode colocar um GO em uma string de SQL e enviá-lo como parte de um objeto de comando ADO.NET, pois o próprio SQL não entende o termo. Outra maneira de demonstrar isso é com o criador de perfil:configure algumas instruções que usam GO no Query Analyzer/Management Studio e, em seguida, execute o criador de perfil ao executar. Você verá que eles são emitidos como comandos separados para o servidor.

O ponto e vírgula é usado para significar o fim de uma instrução em si, não necessariamente um lote inteiro.

http://msdn.microsoft.com/en-us/library/ms188037 .aspx