SQL Server Management Studio siempre inserta un comando GO cuando creo una consulta usando el menú derecho "Script As". ¿Por qué? ¿Qué hace realmente GO?
sql-server
tsql
ssms
tvanfosson
fuente
fuente
Respuestas:
Es un terminador de lotes, sin embargo, puede cambiarlo a lo que quiera
fuente
Desde Management Studio 2005 parece que se puede usar
GO
con unint
parámetro, como:Lo anterior insertará 10 filas en
mytable
. En términos generales,GO
ejecutará los comandos sql relacionadosn
veces .fuente
El comando GO no es una instrucción Transact-SQL, sino un comando especial reconocido por varias utilidades de MS, incluido el editor de código de SQL Server Management Studio.
El comando GO se usa para agrupar comandos SQL en lotes que se envían juntos al servidor. Los comandos incluidos en el lote, es decir, el conjunto de comandos desde el último comando GO o el inicio de la sesión, deben ser lógicamente consistentes. Por ejemplo, no puede definir una variable en un lote y luego usarla en otro ya que el alcance de la variable se limita al lote en el que está definida.
Para obtener más información, consulte http://msdn.microsoft.com/en-us/library/ms188037.aspx .
fuente
GO
realmente útil agrupar cosas ?GO no es una palabra clave SQL.
Es un separador de lotes utilizado por las herramientas del cliente (como SSMS) para dividir todo el script en lotes
Respondió varias veces antes ... ejemplo 1
fuente
Solo para agregar a las respuestas existentes, cuando crea vistas debe separar estos comandos en lotes usando
go
, de lo contrario obtendrá el error'CREATE VIEW' must be the only statement in the batch
. Entonces, por ejemplo, no podrá ejecutar el siguiente script sql singo
fuente
Ir significa que cualquier instrucción SQL que esté escrita antes y después de cualquier GO anterior, irá al servidor SQL para su procesamiento.
En el ejemplo anterior, las declaraciones antes de GO 1 irán a sql sever en un lote y luego cualquier otra declaración antes de GO 2 irá al servidor sql en otro lote. Entonces, como vemos, ha separado lotes.
fuente
El código dice que ejecute las instrucciones sobre el
GO
marcador. Mi base de datos predeterminada es myDatabase, por lo que en lugar de usarmyDatabase GO
y hace una consulta actual para usar herDatabasefuente
Aquí está la magia de GO.
SINTAXIS: Ir INT
(BatchNumber)
BatchNumber: no se produjo ninguna de las veces
Parece simple, podría llevarte a Spaghetti si codificas más profundamente.
fuente