Udostępnij za pomocą


GOTO (Transact-SQL)

Dotyczy:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceBaza danych SQL w usłudze Microsoft Fabric

Zmienia przepływ wykonywania na etykietę. Instrukcja Transact-SQL lub instrukcje, które są zgodne z GOTO, są pomijane i przetwarzanie jest kontynuowane na etykiecie. Instrukcje i etykiety GOTO mogą być używane w dowolnym miejscu w bloku procedury, partii lub instrukcji. Instrukcje GOTO można zagnieżdżać.

Transact-SQL konwencje składni

Syntax

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

Arguments

label
Czy punkt, po którym rozpocznie się przetwarzanie, jeśli obiekt GOTO jest przeznaczony dla tej etykiety. Etykiety muszą być zgodne z regułami dotyczącymi identyfikatorów. Etykietę można użyć jako metody komentowania, czy jest używana funkcja GOTO.

Remarks

GOTO może istnieć w instrukcjach warunkowych kontroli przepływu, blokach instrukcji lub procedurach, ale nie może przejść do etykiety poza partią. Rozgałęzianie GOTO może przejść do etykiety zdefiniowanej przed lub po GOTO.

Permissions

Uprawnienia GOTO są domyślne dla dowolnego prawidłowego użytkownika.

Examples

W poniższym przykładzie pokazano, jak używać GOTO go jako mechanizmu rozgałęzienia.

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.';  

Zobacz też

Język kontroli przepływu (Transact-SQL)
ZACZYNAĆ... KONIEC (Transact-SQL)
PRZERWA (Transact-SQL)
KONTYNUUJ (Transact-SQL)
JEŚLI... INNE (Transact-SQL)
CZEKAJ (Transact-SQL)
PODCZAS (Transact-SQL)