Студія управління SQL Server завжди вставляє команду GO, коли я створюю запит, використовуючи правою кнопкою миші меню "Сценарій як". Чому? Що насправді робить GO?
Студія управління SQL Server завжди вставляє команду GO, коли я створюю запит, використовуючи правою кнопкою миші меню "Сценарій як". Чому? Що насправді робить GO?
Відповіді:
Це пакетний термінатор, але ви можете змінити його на все, що завгодно

Команда GO - це не оператор Transact-SQL, а спеціальна команда, розпізнавана декількома утилітами MS, включаючи редактор коду SQL Server Management Studio.
Команда GO використовується для групування команд SQL у групи, які разом надсилаються на сервер. Команди, що входять до партії, тобто набір команд з останньої команди GO або початку сеансу, повинні бути логічно послідовними. Наприклад, ви не можете визначити змінну в одній партії, а потім використовувати її в іншій, оскільки область застосування змінної обмежена тим пакетом, в якому вона визначена.
Для отримання додаткової інформації див. Http://msdn.microsoft.com/en-us/library/ms188037.aspx .
GOсправді корисними?
GO - це не ключове слово SQL.
Це пакетний роздільник, який використовується клієнтськими інструментами (як SSMS) для розбиття всього сценарію на партії
Відповідав раніше кілька разів ... приклад 1
Просто для додання існуючих відповідей під час створення представлень ви повинні розділити ці команди на групи, використовуючи go, інакше ви отримаєте помилку 'CREATE VIEW' must be the only statement in the batch. Так, наприклад, ви не зможете виконати наступний скрипт sql без цього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
Go означає, що будь-які SQL заяви, написані перед ним і після будь-якого попереднього GO, перейдуть на сервер SQL для обробки.
Select * from employees;
GO -- GO 1
update employees set empID=21 where empCode=123;
GO -- GO 2
У наведеному вище прикладі висловлювання перед GO 1 перейдуть до sql sever у партії, а потім будь-які інші заяви перед GO 2 перейдуть на сервер sql в іншій партії. Отже, як ми бачимо, він розділив партії.
Ось магія GO.
SELECT 'Go'
Go 10
SYNTAX: Ідіть INT(BatchNumber)
Серійний номер: жодного разу не траплялося
Виглядає просто, це може привести вас до спагетті, якщо ви кодуєте глибше.