Почему существует "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)