Reguły programisty

SQL Server

Kiedy używać speratora GO w SQL Server

Reguły dla kodu SQL wymagającego wielu batch'ów"

SQL Serverjob interviewTransact-SQL70-761

GO nie jest komendą Transact-SQL, natomiast jest rozpoznawany przez sqlcmd i SQL Server Management Studio.

Jest wykorzystywany do oddzielania batch'ów kiedy wymagane jest tworzenie lub zmiana obiektów. Dla przykładu, konieczne jest zastosowanie komendy GO w następującym kodzie:

W przeciwnym przypadku otrzymamy błąd: "'CREATE VIEW' must be the first statement in a query batch."

Kiedy nie używać komendy GO.

Ponieważ zmienne zdefiniowane przez użytkownika są traktowane jako lokalne dla zestawu kodu typu batch, w którym zostały zadeklarowane, zmienne te nie mogą zostać zadeklarowane i zakończone GO. SQL Server uruchamia każdy batch w całości i następnie zaczyna nowy, tracąc wcześniej zdefiniowane zmienne.

Następny przykład spowoduje błąd na podstawie powyższego:

Dodatkowo komenda GO nie może zajmować tej samej linii co polecenie Transact-SQL. Następujący kod wyrzuci błąd:

Tutorial statistics