Go jest to tzw. Batch Separator. Oddziela on nam poszczególne komendy, które muszą zostać wykonane.
np.
USE AdventureWorks2008R2 GO
create table test1( p1 int, p2 varchar(10) ) GO insert into test1 values(1,"test") GO 10
W odpowiedzi na GO 10 uzyskujemy:
Beginning execution loop (1 row(s) affected) (1 row(s) affected) (1 row(s) affected) (1 row(s) affected) (1 row(s) affected) (1 row(s) affected) (1 row(s) affected) (1 row(s) affected) (1 row(s) affected) (1 row(s) affected) Batch execution completed 10 times.
Oznacza to, że 10 razy został wykonany insert do tabeli.
Należy nadmienić, że komenda „GO” występuje wyłącznie w SSMS i SQLCMD.
GO nie jest komendą T-SQL-a
W MS SQL Server Management Studio istnieje możliwość zmiany Batch Separatora z „GO” na dowolnie innego.
W tym celu należy w menu Tools wybrać Option. Po otwarciu okna na drzewie należy wybrać:
Query Execution->SQL Server->General.
W pozycji Batch Separator wpisujemy nową komendę zastępującą GO.
Używając SQLCMD również można zmienić BatchSeparator używając opcji -c [cmdend]
np
SQLCMD -S dbrejnak\sqlctp3 -E -c RUN 1>use test 2>run