Nejsou striktně vyžadovány – jsou to pouze pokyny pro SQL Server Management Studio, aby nyní provedlo příkazy až do tohoto bodu a poté pokračovalo. GO
není klíčové slovo T-SQL nebo cokoliv jiného – je to jen instrukce, která funguje v SSMS.
Někdy potřebujete GO - např. pokud přidáte sloupec do tabulky a poté jej chcete znovu vybrat, musíte mezi přidáním sloupce a jeho dotazem přejít.
Např. pokud se pokusíte provést toto, obdržíte chyby z SSMS:
ALTER TABLE (sometable) ADD DateTimeStamp DATETIME
SELECT ID, DateTimeStamp FROM (sometable) WHERE ID > 5
Výsledky v:
Jde o to, že SSMS se pokouší ověřit celý příkaz najednou, ale na příkazu SELECT si bude stěžovat na chybějící značku DateTimeStamp
sloupec.
ALTER TABLE (sometable) ADD DateTimeStamp DATETIME
GO
SELECT ID, DateTimeStamp FROM (sometable) WHERE ID > 5
Pokud vložíte GO
mezi těmito dvěma příkazy to bude fungovat, protože SSMS nebude analyzovat a ověřit celý příkaz předem - udělá první část a pak teprve analyzuje druhou (po GO
).
Ale kromě situací, jako je tato, není GO téměř nikdy vyžadováno.