Freigeben über


GOTO (Transact-SQL)

Verändert den Kontrollfluss, sodass die Ausführung an einer Marke fortgesetzt wird. Die Transact-SQL-Anweisung oder -Anweisungen, die GOTO folgen, werden ausgelassen, und die Verarbeitung wird an der Marke fortgesetzt. Sie können GOTO-Anweisungen und Marken überall in einer Prozedur, in einem Batch oder einem Anweisungsblock verwenden. GOTO-Anweisungen können geschachtelt werden.

Themenlink (Symbol)Transact-SQL-Syntaxkonventionen

Syntax

Define the label: 
label : 
Alter the execution:
GOTO label 

Argumente

  • label
    Ist der Punkt, an dem die Ausführung beginnt, wenn GOTO auf diese Marke zielt. Marken müssen den Regeln für Bezeichner entsprechen. Sie können Marken auch als Kommentarmethode verwenden, unabhängig davon, ob GOTO verwendet wird.

Hinweise

GOTO kann innerhalb von bedingten Anweisungen zur Ablaufsteuerung, Anweisungsblöcken oder Prozeduren vorhanden sein, nicht aber an Marken außerhalb des Batches. Sie können mit GOTO zu einer Marke verzweigen, die vor oder nach GOTO definiert ist.

Berechtigungen

GOTO-Berechtigungen erhalten standardmäßig alle gültigen Benutzer.

Beispiele

Im folgenden Beispiel wird gezeigt, wie Sie GOTO als Verzweigungsmechanismus verwenden können.

DECLARE @Counter int;
SET @Counter = 1;
WHILE @Counter < 10
BEGIN 
    SELECT @Counter
    SET @Counter = @Counter + 1
    IF @Counter = 4 GOTO Branch_One --Jumps to the first branch.
    IF @Counter = 5 GOTO Branch_Two  --This will never execute.
END
Branch_One:
    SELECT 'Jumping To Branch One.'
    GOTO Branch_Three; --This will prevent Branch_Two from executing.
Branch_Two:
    SELECT 'Jumping To Branch Two.'
Branch_Three:
    SELECT 'Jumping To Branch Three.'