Ако сте използвали T-SQL, вероятно ще сте запознати с GO
команда. Тази команда често се поставя в края на пакет от изрази.
Например:
CREATE DATABASE Books;
GO
Въпреки това, GO
командата всъщност не е част от T-SQL. Той дори не може да заема същия ред като T-SQL оператор.
GO
е една от командите, които се разпознават от sqlcmd и osql помощни програми, както и SQL Server Management Studio Code Editor за улесняване на четимостта и изпълнението на пакети и скриптове. GO
командата сигнализира за края на партида от T-SQL изрази към помощните програми на SQL Server.
Помощните програми на SQL Server интерпретират GO
като сигнал, че трябва да изпратят текущата партида от T-SQL изрази към екземпляр на SQL Server. Текущата партида отчети се състои от всички въведени отчети след последния GO
, или от началото на ad hoc сесията или скрипта, ако това е първият GO
.
GO
командата може да бъде удобна при писане на по-големи скриптове. Когато пишете по-големи скриптове, понякога може да получите грешка, поради някои части от скрипта, изискващи по-ранни части да бъдат изпълнени първи. Можете да поставите GO
на стратегически места в скрипта, така че такива части да се изпълняват първи.
Ето пример за скрипт, който създава разделена таблица. Има GO
команда, поставена на различни места в скрипта, за да се гарантира, че всеки раздел се изпълнява преди следващия раздел.
ALTER DATABASE Test
ADD FILEGROUP MoviesFg1;
GO
ALTER DATABASE Test
ADD FILEGROUP MoviesFg2;
GO
ALTER DATABASE Test
ADD FILEGROUP MoviesFg3;
GO
ALTER DATABASE Test
ADD FILEGROUP MoviesFg4;
ALTER DATABASE Test
ADD FILE
(
NAME = MoviesFg1dat,
FILENAME = '/var/opt/mssql/data/MoviesFg1dat.ndf',
SIZE = 5MB,
MAXSIZE = 100MB,
FILEGROWTH = 5MB
)
TO FILEGROUP MoviesFg1;
ALTER DATABASE Test
ADD FILE
(
NAME = MoviesFg2dat,
FILENAME = '/var/opt/mssql/data/MoviesFg2dat.ndf',
SIZE = 5MB,
MAXSIZE = 100MB,
FILEGROWTH = 5MB
)
TO FILEGROUP MoviesFg2;
GO
ALTER DATABASE Test
ADD FILE
(
NAME = MoviesFg3dat,
FILENAME = '/var/opt/mssql/data/MoviesFg3dat.ndf',
SIZE = 5MB,
MAXSIZE = 100MB,
FILEGROWTH = 5MB
)
TO FILEGROUP MoviesFg3;
GO
ALTER DATABASE Test
ADD FILE
(
NAME = MoviesFg4dat,
FILENAME = '/var/opt/mssql/data/MoviesFg4dat.ndf',
SIZE = 5MB,
MAXSIZE = 100MB,
FILEGROWTH = 5MB
)
TO FILEGROUP MoviesFg4;
GO