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

SE APLICA A: síSQL Server síAzure SQL Database noAzure Synapse Analytics (SQL DW) noAlmacenamiento de datos paralelosAPPLIES TO: yesSQL Server yesAzure SQL Database noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse

Altera el flujo de ejecución y lo dirige a una etiqueta.Alters the flow of execution to a label. Las instrucciones Transact-SQLTransact-SQL que siguen a una instrucción GOTO se pasan por alto y el procesamiento continúa en el punto que marca la etiqueta.The Transact-SQLTransact-SQL statement or statements that follow GOTO are skipped and processing continues at the label. Las instrucciones GOTO y las etiquetas se pueden utilizar en cualquier punto de un procedimiento, lote o bloque de instrucciones.GOTO statements and labels can be used anywhere within a procedure, batch, or statement block. Las instrucciones GOTO se pueden anidar.GOTO statements can be nested.

Icono de vínculo de tema Convenciones de sintaxis de Transact-SQLTopic link icon Transact-SQL Syntax Conventions

SintaxisSyntax

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

ArgumentosArguments

labellabel
Es el punto tras el que comienza el procesamiento cuando una instrucción GOTO especifica esa etiqueta.Is the point after which processing starts if a GOTO is targeted to that label. Las etiquetas deben cumplir las reglas de los identificadores.Labels must follow the rules for identifiers. Una etiqueta puede servir para comentar si se utiliza GOTO.A label can be used as a commenting method whether GOTO is used.

NotasRemarks

GOTO puede aparecer dentro de las instrucciones de control de flujo condicional, en bloques de instrucciones o en procedimientos, pero no se puede dirigir a una etiqueta externa al lote.GOTO can exist within conditional control-of-flow statements, statement blocks, or procedures, but it cannot go to a label outside the batch. La ramificación con GOTO se puede dirigir a una etiqueta definida antes o después de la instrucción GOTO.GOTO branching can go to a label defined before or after GOTO.

PermisosPermissions

De forma predeterminada, cualquier usuario válido puede utilizar GOTO.GOTO permissions default to any valid user.

EjemplosExamples

En el ejemplo siguiente se muestra cómo usar GOTO como mecanismo de bifurcación.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 tambiénSee Also

Lenguaje de control de flujo (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)