SQL Server - comando GO en sql

 
Vista:

comando GO en sql

Publicado por orlando (13 intervenciones) el 05/01/2008 20:45:30
Hola, tengo una duda sobre el uso del comando GO
Desde el anlizador de consultas del Sql server 2000, ejecuto mis instrucciones, y he notado que para ejecutar una instruccion puedo seleccionar el bloque y poner F5 o a poner go al final de la instruccion y seleccionar, la pregunta es para q se usa GO, cuando es recomendable, o es recomendable que siempre use Go para finalizar una instruccion

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:comando GO en sql

Publicado por Isaias (3308 intervenciones) el 08/01/2008 18:02:48
Extraido de la ayuda en linea:

GO
Indica a las herramientas de Microsoft® SQL Server™ el final de un lote de instrucciones Transact-SQL.

Sintaxis
GO

Observaciones
GO no es una instrucción de Transact-SQL, sino un comando que reconocen las herramientas osql e isql y el Analizador de consultas de SQL.

Las herramientas de SQL Server interpretan GO como una señal de que deben enviar el lote actual de instrucciones Transact-SQL a SQL Server. El lote actual está formado por todas las instrucciones especificadas desde el último comando GO o desde el comienzo de la sesión o secuencia de comandos ad-hoc, si se trata del primer comando GO. El Analizador de consultas de SQL y las herramientas del símbolo del sistema osql e isql implementan el comando GO de forma diferente. Para obtener más información, consulte Herramienta osql, Herramienta isql y Analizador de consultas SQL.

Una instrucción Transact-SQL no puede ocupar la misma línea que un comando GO. Sin embargo, la línea sí puede contener comentarios.

Los usuarios deben seguir las normas de los procesos por lotes. Por ejemplo, la ejecución de un procedimiento almacenado después de la primera instrucción de un lote debe incluir la palabra clave EXECUTE. El ámbito de las variables locales (definidas por el usuario) está limitado a un lote y no es posible referirse a ellas después del comando GO.

USE pubs
GO
DECLARE @MyMsg VARCHAR(50)
SELECT @MyMsg = 'Hello, World.'
GO -- @MyMsg is not valid after this GO ends the batch.

-- Yields an error because @MyMsg not declared in this batch.
PRINT @MyMsg
GO

SELECT @@VERSION;
-- Yields an error: Must be EXEC sp_who if not first statement in
-- batch.
sp_who
GO
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar