Опубликован: 02.02.2007 | Доступ: свободный | Студентов: 2374 / 243 | Оценка: 4.10 / 3.86 | Длительность: 26:44:00
Урок 25:

Управление ходом выполнения

< Урок 24 || Урок 25: 1234567 || Урок 26 >

Команда GOTO

Структуры IF...ELSE и CASE управляют порядком выполнения операторов, основываясь на результатах вычисления булевого выражения. Команда GOTO является безусловной. Она передает выполнение непосредственно к оператору, следующему после метки, которая на него указывает.

В SQL Server метки являются неисполняемыми операторами, имеющими следующий синтаксис:

имя_метки:

Имя метки должно удовлетворять правилам, принятым для идентификаторов. Сама команда GOTO имеет очень простой синтаксис:

GOTO имя_метки

Код "спагетти"

GOTO является весьма непопулярной в кругу программистов командой. По большому счету это связано с историческими причинами: ранние языки предоставляли очень мало механизмов управления ходом выполнения – обычно только структуру IF и команду GOTO. Как следствие, создаваемый код оказывался очень сложным для восприятия и анализа. Подобный код получил название "спагетти".

Применение команды GOTO, тем не менее, бывает вполне оправданным, особенно при обработке ошибок. Если вы будете аккуратно использовать эту команду, она даже сможет сделать код проще для понимания. Следует всего лишь следить, что вы использовали команду GOTO для выполнения задач, которые могут быть более просто выражены через другие команды или функции передачи управления.

Используйте команду GOTO для безусловного перехода

  1. В окне Query (Запрос) выберите вкладку Editor (Редактор), а затем нажмите кнопку Clear Window (Очистить окно).Query Analyzer очистит окно.
  2. В панели инструментов анализатора запросов Query Analyzer нажмите кнопку Load Script (Загрузить сценарий).Query Analyzer отобразит диалоговое окно Open Query File (Открыть файл запроса).

  3. Выделите сценарий с именем GOTO и нажмите кнопку Open (Открыть). Query Analyzer загрузит сценарий.

  4. В панели инструментов анализатора запросов Query Analyzer нажмите кнопку Execute Query (Выполнить запрос).Query Analyzer отобразит результат запроса.

< Урок 24 || Урок 25: 1234567 || Урок 26 >
Инна Грушецкая
Инна Грушецкая
Сергей Чесноков
Сергей Чесноков