SQL Server Management Studio zawsze wstawia polecenie GO podczas tworzenia zapytania za pomocą menu „Skrypt jako” prawym przyciskiem myszy. Dlaczego? Co właściwie robi GO?
SQL Server Management Studio zawsze wstawia polecenie GO podczas tworzenia zapytania za pomocą menu „Skrypt jako” prawym przyciskiem myszy. Dlaczego? Co właściwie robi GO?
Odpowiedzi:
Jest to terminator partii, możesz jednak zmienić go na cokolwiek chcesz
Polecenie GO nie jest instrukcją języka Transact-SQL, ale specjalnym poleceniem rozpoznawanym przez kilka narzędzi MS, w tym edytor kodu SQL Server Management Studio.
Polecenie GO służy do grupowania poleceń SQL w partie, które są wysyłane razem do serwera. Polecenia zawarte w partii, to znaczy zbiór poleceń od ostatniego polecenia GO lub rozpoczęcia sesji, muszą być logicznie spójne. Na przykład nie można zdefiniować zmiennej w jednej partii, a następnie użyć jej w innej, ponieważ zakres zmiennej jest ograniczony do partii, w której została zdefiniowana.
Aby uzyskać więcej informacji, zobacz http://msdn.microsoft.com/en-us/library/ms188037.aspx .
GO
naprawdę przydatne?
GO nie jest słowem kluczowym SQL.
Jest to separator partii używany przez narzędzia klienckie (takie jak SSMS) do dzielenia całego skryptu na partie
Kilkakrotnie odpowiedziałem wcześniej ... przykład 1
Aby dodać do istniejących odpowiedzi, podczas tworzenia widoków należy rozdzielić te polecenia na partie go
, w przeciwnym razie wystąpi błąd 'CREATE VIEW' must be the only statement in the batch
. Na przykład nie będzie można wykonać następującego skryptu SQL bezgo
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 oznacza, że wszelkie instrukcje SQL zapisane przed nim i po każdym wcześniejszym GO, przejdą na serwer SQL w celu przetworzenia.
Select * from employees;
GO -- GO 1
update employees set empID=21 where empCode=123;
GO -- GO 2
W powyższym przykładzie instrukcje przed GO 1 przejdą do SQL Server w partii, a następnie wszelkie inne instrukcje przed GO 2 przejdą na serwer SQL w innej partii. Tak więc, jak widzimy, ma oddzielone partie.
Oto magia GO.
SELECT 'Go'
Go 10
SKŁADNIA: Idź INT(BatchNumber)
BatchNumber: Liczba przypadków nie wystąpiła
Wygląda prosto, może prowadzić do Spaghetti, jeśli kodujesz głębiej.