Понимание T-SQL GOTO

Мой учитель недавно рассказал о заявлении «GOTO», которое будет использоваться в Management Studio, но я сначала не совсем понял его. Он заявил, что GOTO используется для перехода к различным фрагментам кода, с помощью ярлыка, который я могу назвать сам. Это код, который он использовал для представления своего примера:

select 'first' goto jump select 'second' jump: select 'third' 

Когда я выполняю код, достаточно уверен, он печатает «первый» и «третий». Теперь мой вопрос заключается в том, что в первую очередь выбрало «второе»?

    Это немного для комментария.

    В вашем примере второй select явно не нужен.

    GOTO является примером «потока управления» для программного кода. Это конструкция с самых ранних компьютерных языков, которая напрямую связана с тем, как работает оборудование при обработке языков, таких как C или код сборки. С тех пор он был включен во многие другие языки.

    GOTO часто используется с IF . Тем не менее, T-SQL предлагает лучшие функции потока управления, такие как:

    • В ТО ВРЕМЯ КАК
    • IF / НАЧАТЬ
    • ПОПРОБУЙ ПОЙМАТЬ

    В общем, вы должны использовать эти конструкции, а не GOTO . На самом деле, GOTO довольно спорный. Многие считают, что это всегда признак плохого кода (иногда используется код спагетти для описания этого типа кода). Другие сделают очень редкое исключение для чего-то вроде обработки исключений (что я иногда делаю) или некоторых типов государственных машин.

    По моему мнению, GOTO следует преподавать только после всех других конструкций и только для очень конкретных целей.

    Interesting Posts

    Выполнение триггеров после группового обновления с помощью оператора «in (…)» в запросе

    Увеличение значения столбца в базе данных SQL, если есть дубликат записи

    Является ли это примером использования SSIS? (новый для SSIS)

    EF Code Первое подключение к SQL Server 2008 R2

    Исключение при использовании

    Java + SQL Server – жизнеспособное решение?

    SQL-выборка записей с использованием группы с помощью трех условий

    Как использовать ASP.NET для отображения видео из байтов в базе данных SQL?

    Древовидная структура в SQL Server, которая должна быть сглажена особым образом

    Неправильный синтаксис рядом с ключевым словом «if» в процедуре хранения

    фиксировать транзакцию и конечную транзакцию

    Рекомендации по встроенным SQL-запросам

    добавление данных в столбце в зависимости от других столбцов в одной таблице

    Будет ли SSDT-BI работать с SQL Server 2008 R2?

    Есть ли способ установить точность по умолчанию для десятичных вычислений в SQL Server 2005?

    Давайте будем гением компьютера.