examples - ¿Cuál es el uso de GO en SQL Server Management Studio y Transact SQL?
transact sql mysql (8)
SQL Server Management Studio siempre inserta un comando GO cuando creo una consulta con el botón derecho del ratón "Script As". ¿Por qué? ¿Qué hace realmente GO?
Aquí está la magia de GO.
SELECT ''Go''
Go 10
SYNTAX: Go INT (BatchNumber)
Número de lote: No de veces ocurrió
Parece simple, podría llevarte a Spaghetti si codificas más.
El comando GO no es una declaració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 al servidor juntos. 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 coherentes. 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 se define.
Para obtener más información, consulte msdn .
Es un terminador por lotes, sin embargo, puedes cambiarlo a lo que quieras
GO no es una palabra clave de SQL.
Es un separador de lotes utilizado por las herramientas cliente (como SSMS) para dividir todo el script en lotes
Respondió antes varias veces ... ejemplo 1
Go significa que cualquier instrucción SQL que se escriba antes y después de cualquier GO anterior irá al servidor SQL para su procesamiento.
Select * from employees;
GO -- GO 1
update employees set empID=21 where empCode=123;
GO -- GO 2
En el ejemplo anterior, las declaraciones antes de GO 1 irán al servidor SQL en un lote y luego cualquier otra declaración antes de GO 2 irá al servidor SQL en otro lote. Así como lo vemos se ha separado los lotes.
Solo para agregar a las respuestas existentes, cuando esté creando 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 de SQL sin go
create view MyView1 as
select Id,Name from table1
go
create view MyView2 as
select Id,Name from table1
go
select * from MyView1
select * from MyView2
Desde Management Studio 2005 parece que puedes usar GO
con un parámetro int
, como:
INSERT INTO mytable DEFAULT VALUES
GO 10
Lo anterior insertará 10 filas en mytable
. En general, GO
ejecutará los comandos sql relacionados n
veces.
Use herDatabase
GO ;
El código dice ejecutar las instrucciones sobre el marcador GO
. Mi base de datos predeterminada es myDatabase, por lo que en lugar de usar myDatabase GO
y hacer una consulta actual para usar herDatabase