Condividi tramite


GOTO (Transact-SQL)

Si applica a:SQL ServerDatabase SQL di AzureIstanza gestita di SQL di AzureDatabase SQL in Microsoft Fabric

Reindirizza il flusso di esecuzione a un'etichetta. L'istruzione o le istruzioni Transact-SQL successive a GOTO vengono ignorate e l'elaborazione viene ripresa in corrispondenza dell'etichetta. È possibile utilizzare istruzioni ed etichette GOTO in qualsiasi punto di una procedura, un batch o un blocco di istruzioni. Le istruzioni GOTO possono essere nidificate.

Convenzioni relative alla sintassi Transact-SQL

Syntax

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

Arguments

label
Posizione da cui inizia l'elaborazione se la destinazione dell'istruzione GOTO è impostata su tale etichetta. Le etichette devono essere conformi alle regole per gli identificatori. È possibile adottare le etichette come metodo per l'inserimento di commenti indipendentemente dall'utilizzo dell'istruzione GOTO.

Remarks

L'istruzione GOTO può essere utilizzata in istruzioni condizionali per il controllo di flusso, in blocchi di istruzioni o in procedure ma non è possibile associarla a un'etichetta all'esterno del batch. Le diramazioni implementate tramite l'istruzione GOTO possono fare riferimento a un'etichetta definita prima o dopo GOTO.

Permissions

Le autorizzazioni per l'istruzione GOTO vengono assegnate per impostazione predefinita a qualsiasi utente valido.

Examples

Nell'esempio seguente viene illustrato come utilizzare GOTO come meccanismo di diramazione.

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

Vedere anche

Linguaggio di controllo del flusso (Transact-SQL)
COMINCIARE... FINE (Transact-SQL)
PAUSA (Transact-SQL)
CONTINUA (Transact-SQL)
SE... ELSE (Transact-SQL)
ASPETTA (Transact-SQL)
MENTRE (Transact-SQL)