GOTO (Transact-SQL)GOTO (Transact-SQL)

APLICA-SE A: simSQL Server (a partir do 2008) simBanco de Dados SQL do Azure nãoSQL Data Warehouse do Azure nãoParallel Data Warehouse APPLIES TO: yesSQL Server (starting with 2008) yesAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

Altera o fluxo de execução para um rótulo.Alters the flow of execution to a label. A instrução ou as instruções Transact-SQLTransact-SQL que seguem GOTO são ignoradas e o processamento continua no rótulo.The Transact-SQLTransact-SQL statement or statements that follow GOTO are skipped and processing continues at the label. As instruções GOTO e os rótulos podem ser usados em qualquer lugar em um procedimento, lote ou bloco de instruções.GOTO statements and labels can be used anywhere within a procedure, batch, or statement block. As instruções GOTO podem ser aninhadas.GOTO statements can be nested.

Ícone de link do tópico Convenções de sintaxe de Transact-SQLTopic link icon Transact-SQL Syntax Conventions

SintaxeSyntax

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

ArgumentosArguments

labellabel
É o ponto após o qual o processamento inicia se o destino de um GOTO for esse rótulo.Is the point after which processing starts if a GOTO is targeted to that label. Os rótulos devem seguir as regras para identificadores.Labels must follow the rules for identifiers. Um rótulo pode ser usado como um método de comentário se GOTO for usado.A label can be used as a commenting method whether GOTO is used.

RemarksRemarks

GOTO pode existir em instruções de controle de fluxo condicional, blocos de instruções ou procedimentos, mas não pode ir para um rótulo fora do lote.GOTO can exist within conditional control-of-flow statements, statement blocks, or procedures, but it cannot go to a label outside the batch. A ramificação de GOTO pode ir para um rótulo definido antes ou depois de GOTO.GOTO branching can go to a label defined before or after GOTO.

PermissõesPermissions

As permissões de GOTO são padronizadas para qualquer usuário válido.GOTO permissions default to any valid user.

ExemplosExamples

O exemplo a seguir mostra como usar GOTO como um mecanismo de ramificação.The following example shows how to use GOTO as a branch mechanism.

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

Consulte TambémSee Also

Linguagem de controle de fluxo (Transact-SQL) Control-of-Flow Language (Transact-SQL)
BEGIN...END (Transact-SQL) BEGIN...END (Transact-SQL)
BREAK (Transact-SQL) BREAK (Transact-SQL)
CONTINUE (Transact-SQL) CONTINUE (Transact-SQL)
IF...ELSE (Transact-SQL) IF...ELSE (Transact-SQL)
WAITFOR (Transact-SQL) WAITFOR (Transact-SQL)
WHILE (Transact-SQL)WHILE (Transact-SQL)