다음을 통해 공유


GOTO (Transact-SQL)

적용 대상:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceMicrosoft Fabric의 SQL 데이터베이스

실행 흐름을 지정된 레이블로 변경합니다. GOTO 다음에 이어지는 Transact-SQL 문을 건너뛰고 지정된 레이블에서 처리를 계속 이어갑니다. GOTO 문과 레이블은 프로시저, 일괄 처리, 문 블록 등 어디에서나 사용할 수 있습니다. GOTO 문은 중첩될 수 있습니다.

Transact-SQL 구문 표기 규칙

Syntax

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

Arguments

label
GOTO의 대상이 해당 레이블인 경우 처리가 시작되는 지점입니다. 레이블은 식별자 규칙을 따라야 합니다. 레이블은 GOTO 사용 여부에 관계 없이 주석을 기록하는 방법으로 사용될 수 있습니다.

Remarks

GOTO는 조건부 흐름 제어 문, 문 블록 또는 프로시저 내에서 사용할 수 있지만 일괄 처리 밖에 있는 레이블로 이동할 수 없습니다. GOTO 분기는 GOTO 전후에 정의된 레이블로 이동할 수 있습니다.

Permissions

GOTO 권한은 모든 유효한 사용자에게 기본적으로 부여됩니다.

Examples

다음 예에서는 GOTO를 분기 메커니즘으로 사용하는 방법을 보여 줍니다.

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

또한 참조하십시오

흐름 제어 언어(Transact-SQL)
시작되다... 끝 (Transact-SQL)
휴식 (Transact-SQL)
계속 이어 (Transact-SQL)
면... 그렇지 않다면 (Transact-SQL)
WAITFOR(Transact-SQL)
그동안 (Transact-SQL)