SQL Server Management Studio fügt immer einen GO-Befehl ein, wenn ich eine Abfrage über das Kontextmenü "Skript als" erstelle. Warum? Was macht GO eigentlich?
sql-server
tsql
ssms
Tvanfosson
quelle
quelle
Antworten:
Es ist ein Batch-Terminator, Sie können ihn jedoch nach Belieben ändern
quelle
Da das Management Studio 2005 scheint es , dass Sie verwenden können ,
GO
mit einemint
Parameter, wie zB:Das obige fügt 10 Zeilen ein
mytable
. Im AllgemeinenGO
werden die zugehörigen SQL-Befehlen
mal ausgeführt .quelle
Der Befehl GO ist keine Transact-SQL-Anweisung, sondern ein spezieller Befehl, der von mehreren MS-Dienstprogrammen einschließlich des SQL Editor Management Studio-Code-Editors erkannt wird.
Der Befehl GO wird verwendet, um SQL-Befehle in Stapeln zu gruppieren, die zusammen an den Server gesendet werden. Die im Stapel enthaltenen Befehle, dh der Befehlssatz seit dem letzten GO-Befehl oder dem Start der Sitzung, müssen logisch konsistent sein. Beispielsweise können Sie eine Variable nicht in einem Stapel definieren und dann in einem anderen verwenden, da der Umfang der Variablen auf den Stapel beschränkt ist, in dem sie definiert ist.
Weitere Informationen finden Sie unter http://msdn.microsoft.com/en-us/library/ms188037.aspx .
quelle
GO
tatsächlich nützlich?GO ist kein SQL-Schlüsselwort.
Es ist ein Batch-Trennzeichen, das von Client-Tools (wie SSMS) verwendet wird, um das gesamte Skript in Batches aufzuteilen
Vorher mehrmals beantwortet ... Beispiel 1
quelle
go
Um die vorhandenen Antworten zu ergänzen, müssen Sie beim Erstellen von Ansichten diese Befehle mithilfe von in Stapel aufteilen , da sonst der Fehler angezeigt wird'CREATE VIEW' must be the only statement in the batch
. So können Sie beispielsweise das folgende SQL-Skript nicht ohne ausführengo
quelle
Go bedeutet, dass alle SQL-Anweisungen, die davor und nach einem früheren GO geschrieben wurden, zur Verarbeitung an den SQL Server gesendet werden.
Im obigen Beispiel werden Anweisungen vor GO 1 in einem Stapel an SQL Server gesendet, und alle anderen Anweisungen vor GO 2 werden in einem anderen Stapel an SQL Server gesendet. Wie wir sehen, hat es Chargen getrennt.
quelle
Der Code fordert Sie auf, die Anweisungen über der
GO
Markierung auszuführen . Meine Standarddatenbank ist myDatabase. Anstatt also zu verwendenmyDatabase GO
und aktuelle Abfragen durchzuführen, um herDatabase zu verwendenquelle
Hier ist die Magie von GO.
SYNTAX: Gehen Sie INT
(BatchNumber)
BatchNumber: Es ist keine Zeit aufgetreten
Sieht einfach aus. Es könnte Sie zu Spaghetti führen, wenn Sie tiefer codieren.
quelle