it-swarm.com.de

Was ist die Verwendung von GO in SQL Server Management Studio und Transact SQL?

SQL Server Management Studio fügt immer einen GO-Befehl ein, wenn ich eine Abfrage mithilfe des Rechtsklick-Menüs "Skript als" erstelle. Warum? Was macht GO eigentlich?

331
tvanfosson

Es ist ein Batch-Terminator, den Sie jedoch beliebig ändern können alt text

283
SQLMenace

Seit Management Studio 2005 können Sie anscheinend GO mit einem int -Parameter verwenden, z.

INSERT INTO mytable DEFAULT VALUES
GO 10

Das obige Beispiel fügt 10 Zeilen in mytable ein. Im Allgemeinen führt GO die entsprechenden SQL-Befehle n mal aus.

275
MicSim

Der GO-Befehl ist keine Transact-SQL-Anweisung, sondern ein Spezialbefehl, der von mehreren MS-Dienstprogrammen erkannt wird, einschließlich des SQL Server Management Studio-Code-Editors.

Mit dem Befehl GO werden SQL-Befehle in Gruppen zusammengefasst, 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 Gültigkeitsbereich 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 .

182
tvanfosson

GO ist kein SQL-Schlüsselwort.

Es ist ein Stapeltrennzeichen, das von Client-Tools (wie SSMS) verwendet wird, um das gesamte Skript in Stapel aufzuteilen

Mehrmals beantwortet ... Beispiel 1

34
gbn

Um die vorhandenen Antworten zu ergänzen, müssen Sie beim Erstellen von Ansichten diese Befehle mit go in Gruppen aufteilen. Andernfalls wird der Fehler 'CREATE VIEW' must be the only statement in the batch. So können Sie beispielsweise das folgende SQL-Skript nicht ohne go ausführen.

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
14
Use herDatabase
GO ; 

Der Code sagt, dass die Anweisungen über der Markierung GO ausgeführt werden sollen. Meine Standarddatenbank ist myDatabase. Anstatt also myDatabase GO Zu verwenden, wird eine aktuelle Abfrage zur Verwendung von herDatabase erstellt

6
TonyP

Go bedeutet, dass alle SQL-Anweisungen, die davor und danach geschrieben wurden, zur Verarbeitung an den SQL-Server gesendet werden.

Select * from employees;
GO    -- GO 1

update employees set empID=21 where empCode=123;
GO    -- GO 2

Im obigen Beispiel werden Anweisungen vor GO 1 in einem Stapel an sql sever gesendet, und alle anderen Anweisungen vor GO 2 werden in einem anderen Stapel an sql server gesendet. Wie wir sehen, hat es Chargen getrennt.

5
ANIL KUMAR