Non sono strettamente necessari:sono solo istruzioni per SQL Server Management Studio per eseguire le istruzioni fino a questo punto di tanto in tanto. GO
è non una parola chiave T-SQL o altro:è solo un'istruzione che funziona in SSMS.
A volte, hai bisogno di un GO, ad es. se aggiungi una colonna a una tabella e poi vuoi selezionarla di nuovo, devi avere un GO tra l'aggiunta della colonna e la sua query.
Per esempio. se provi a eseguirlo, riceverai errori da SSMS:
ALTER TABLE (sometable) ADD DateTimeStamp DATETIME
SELECT ID, DateTimeStamp FROM (sometable) WHERE ID > 5
Risultati in:
Il punto è:SSMS sta cercando di verificare l'intera istruzione in una volta, ma sull'istruzione SELECT, si lamenterà del DateTimeStamp
mancante colonna.
ALTER TABLE (sometable) ADD DateTimeStamp DATETIME
GO
SELECT ID, DateTimeStamp FROM (sometable) WHERE ID > 5
Se metti un GO
tra le due istruzioni funzionerà, perché SSMS non analizzerà e verificherà l'intera istruzione in anticipo:eseguirà la prima parte, quindi analizzerà solo la seconda (dopo GO
).
Ma a parte situazioni come questa, GO non è quasi mai richiesto.