Lo primero que se debe entender es que GO no es parte del lenguaje TSQL. GO es un separador de lotes utilizado por SQLCMD y SQL Server Management Studio.
Las utilidades de SQL Server interpretan GO como una señal de que deben enviar el lote actual de instrucciones Transact-SQL a una instancia de SQL Server. El lote actual de declaraciones se compone de todas las declaraciones ingresadas desde el último GO, o desde el inicio de la sesión ad hoc o el script si este es el primer GO.
Una instrucción Transact-SQL no puede ocupar la misma línea que un comando GO. Sin embargo, la línea puede contener comentarios.
Este separador de lotes es configurable en el SQL Server Management Studio . GO es el predeterminado, pero puede ser cualquier otra cosa.
GO Divide el comando en lotes individuales. El alcance de las variables termina con GO.
; separa los comandos pero no finaliza el alcance.
GO separa lotes y termina el alcance.
Puede pensar en ello como si todo el comando se dividiera por GO y cada parte se ejecutó per se.
La sentencia GO también reconoce el parámetro count y lo interpreta como el número de veces que debe ejecutar el lote que lo precede. Para mostrar esto ejecutaremos el siguiente script en donde enviaremos al parámetro el valor 4.
como se ve, realiza 4 veces el INSERT en la variable de tipo tabla.
Leave a Reply