GOTO (Transact-SQL)
Область применения: SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure базе данных SQL в Microsoft Fabric
Переводит поток выполнения на метку. Инструкции языка Transact-SQL или инструкции, следующие за инструкцией GOTO, пропускаются, и выполнение продолжается с метки. Инструкция GOTO и метки могут быть включены в процедуру, пакет или блок инструкций. Инструкции GOTO могут быть вложенными.
Соглашения о синтаксисе Transact-SQL
Синтаксис
Define the label:
label:
Alter the execution:
GOTO label
Аргументы
label
Точка, с которой начинается обработка инструкций после перехода на текущую метку с помощью инструкции 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)
НАЧИНАТЬ... END (Transact-SQL)
BREAK (Transact-SQL)
CONTINUE (Transact-SQL)
ЕСЛИ... ELSE (Transact-SQL)
WAITFOR (Transact-SQL)
WHILE (Transact-SQL)