GOTO(Transact-SQL)

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

항목 링크 아이콘Transact-SQL 구문 표기 규칙

구문

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

인수

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

주의

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

사용 권한

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

다음 예에서는 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)
BEGIN...END(Transact-SQL)
BREAK(Transact-SQL)
CONTINUE(Transact-SQL)
IF...ELSE(Transact-SQL)
WAITFOR(Transact-SQL)
WHILE(Transact-SQL)

관련 자료

GOTO 사용
식별자를 개체 이름으로 사용

도움말 및 정보

SQL Server 2005 지원 받기