Ze zijn niet strikt vereist - het zijn slechts instructies voor de SQL Server Management Studio om de instructies tot nu toe af en toe uit te voeren en dan door te gaan. GO
is niet een T-SQL-trefwoord of zoiets - het is gewoon een instructie die werkt in SSMS.
Soms heb je een GO nodig - b.v. als u een kolom aan een tabel toevoegt en deze vervolgens opnieuw wilt selecteren, moet u een GO hebben tussen het toevoegen van de kolom en het opvragen ervan.
bijv. als je dit probeert uit te voeren, krijg je fouten van SSMS:
ALTER TABLE (sometable) ADD DateTimeStamp DATETIME
SELECT ID, DateTimeStamp FROM (sometable) WHERE ID > 5
Resultaten in:
Het punt is:SSMS probeert de hele instructie in één keer te verifiëren, maar bij de SELECT-instructie klaagt het over de ontbrekende DateTimeStamp
kolom.
ALTER TABLE (sometable) ADD DateTimeStamp DATETIME
GO
SELECT ID, DateTimeStamp FROM (sometable) WHERE ID > 5
Als je een GO
tussen de twee instructies, zal het werken, omdat SSMS niet de hele verklaring van tevoren zal ontleden en verifiëren - het zal het eerste deel doen en dan alleen het tweede ontleden (na de GO
).
Maar afgezien van situaties als deze, is GO bijna nooit nodig.