2010-05-31 1 views
11

am Msdn Sehen, ein Beispiel an, es gäbe" Warum gibt es:.Warum "GO" nach Gebrauch db gibt es GO "Befehl“? In T-SQL Beispielen

USE somedb 
GO 
... 
... 

Es es neccesary auswählen db in unterschiedlichen Chargen Dank für Erklärung

+0

Dup: http://stackoverflow.com/questions/2905306/whats-the-beaning-of-the-go-statement-in-tsql –

+1

Es ist nicht. Ich weiß, wofür GO gut ist. Aber ich sehe keinen Vorteil darin, es nach "USE db" zu benutzen. – Petr

Antwort

9

Ist es notwendig, auswählen t db in andere Charge?

Nein, aber einige Befehle haben die erste Anweisung im Batch sein.

Beispiele sind CREATE VIEW, CREATE PROCEDURE und CREATE TRIGGER.

Wenn Sie also tun wollen:

USE DB 

CREATE VIEW X AS SELECT * FROM Y 

Dann müssen Sie tun:

USE DB 
GO 

CREATE VIEW X AS SELECT * FROM Y 

Wenn Sie nur eine USE DB Anweisung ausgeführt wird, die GO keinen Nutzen hat.

Einige Befehle nicht verlangen, dass sie die erste Anweisung in einer Charge sind:

USE DB 
SELECT * FROM X 

Manchmal in Code-Generierung, alle GO-Befehle möglicherweise nicht notwendig sein, aber es ist nur einfacher, sie zu erzeugen.

0

es signalisiert das Ende einer Charge von Transact-SQL-Anweisungen für den SQL Server-Dienstprogramme Sie hier für weitere Informationen überprüfen:?!. GO (Transact-SQL)

+1

Ich weiß und ich fragte nach GO nach der Verwendung, die genau auf der Seite ist, auf die Sie verweisen. – Petr