Почему существует "GO" после USE db "в примерах T-SQL?

Посмотрев на msdn, появился пример команды "GO". Почему существует:

USE somedb
GO
...
...

Нужно ли выбирать db в разных партиях? Спасибо за объяснение!

Ответ 1

Нужно ли выбирать db в разные партии?

Нет, однако, некоторые команды должны быть первым оператором в пакете.

Примеры включают CREATE VIEW, CREATE PROCEDURE и CREATE TRIGGER.

Таким образом, если вы хотите сделать:

USE DB

CREATE VIEW X AS SELECT * FROM Y

Затем вам нужно сделать:

USE DB
GO

CREATE VIEW X AS SELECT * FROM Y

Если вы используете только один оператор USE DB, GO не имеет никакой полезности.

Некоторые команды не требуют, чтобы они были первым оператором в пакете:

USE DB
SELECT * FROM X

Иногда при генерации кода все команды GO могут быть не нужны, но их проще создавать.

Ответ 2

Он сигнализирует о завершении пакета операторов Transact-SQL утилитам SQL Server. Вы можете проверить здесь более подробную информацию: GO (Transact-SQL)