Partilhar via


GOTO (Transact-SQL)

Aplica-se a:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceBase de dados SQL no Microsoft Fabric

Altera o fluxo de execução para um rótulo. A instrução ou instruções Transact-SQL que seguem o GOTO são ignoradas e o processamento continua no rótulo. As instruções e rótulos GOTO podem ser usados em qualquer lugar dentro de um procedimento, lote ou bloco de instruções. As instruções GOTO podem ser aninhadas.

Transact-SQL convenções de sintaxe

Syntax

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

Arguments

label
É o ponto após o qual o processamento começa se um GOTO é direcionado para esse rótulo. Os rótulos devem seguir as regras para identificadores. Um rótulo pode ser usado como um método de comentário se o GOTO é usado.

Remarks

O GOTO pode existir dentro de instruções condicionais de controle de fluxo, blocos de instruções ou procedimentos, mas não pode ir para um rótulo fora do lote. A ramificação GOTO pode ir para um rótulo definido antes ou depois do GOTO.

Permissions

Permissões GOTO padrão para qualquer usuário válido.

Examples

O exemplo a seguir mostra como usar GOTO como um mecanismo de ramificação.

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

Ver também

Linguagem de controle de fluxo (Transact-SQL)
COMEÇAR... FIM (Transact-SQL)
PAUSA (Transact-SQL)
CONTINUAR (Transact-SQL)
SE... ELSE (Transact-SQL)
AGUARDE (Transact-SQL)
ENQUANTO (Transact-SQL)