Прерывание/продолжение цикла

Запросы, планы, оптимизация запросов, ...

Модераторы: kdv, CyberMax

Ответить
_kolyan
Сообщения: 7
Зарегистрирован: 31 окт 2005, 22:07

Прерывание/продолжение цикла

Сообщение _kolyan » 31 окт 2005, 23:15

Интересует как прервать выполнение цикла while или for в хранимой процедуре, или перейти к следующей итерации минуя оствшийся код.
Т.е. аналоги оператором continue и break. Возможно ли это сделать?

VictorIn
Сообщения: 26
Зарегистрирован: 25 мар 2005, 22:16

Re: Прерывание/продолжение цикла

Сообщение VictorIn » 31 окт 2005, 23:55

_kolyan писал(а):Интересует как прервать выполнение цикла while или for в хранимой процедуре, или перейти к следующей итерации минуя оствшийся код.
Т.е. аналоги оператором continue и break. Возможно ли это сделать?
LEAVE - вызывает выход из циклов WHILE и FOR SELECT.
Использование и синтаксис аналогичен оператору Break в Delphi.
В триггерах недоступно.
Так по крайней мере анансированно в Yaffil.

_kolyan
Сообщения: 7
Зарегистрирован: 31 окт 2005, 22:07

Сообщение _kolyan » 01 ноя 2005, 08:54

Нет, не работает leave в IB7.
Неужели такие очевидные операторы отсутствуют...

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 01 ноя 2005, 10:21

а кто сказал что leave должно работать в IB7? Ты спросил без указания сервера. Тебе ответили про Yaffil. Я еще могу добавить про Firebird. А в Interbase никто leave вводить и не собирался.

по поводу
Неужели такие очевидные операторы отсутствуют...
лучше обращаться на форумы borland.

Вообще перейти к следующей итерации не выполняя код можно при помощи IF.

_kolyan
Сообщения: 7
Зарегистрирован: 31 окт 2005, 22:07

Сообщение _kolyan » 01 ноя 2005, 15:41

а кто сказал что leave должно работать в IB7? Ты спросил без указания сервера
Ну простите за серость :roll:
Вообще перейти к следующей итерации не выполняя код можно при помощи IF.
Я знаю где использовать IF, а где охота CONTINUE - не в первый раз замужем :evil: :D

Hadroran
Сообщения: 39
Зарегистрирован: 22 фев 2005, 10:23

Сообщение Hadroran » 19 май 2006, 14:45

Итак значит для FireBird-а вместо дельфевого break - leave? хотя и break работает, а что вместо дельфевого continue?

Slava Ekimov
Сообщения: 44
Зарегистрирован: 26 окт 2004, 14:30

Сообщение Slava Ekimov » 19 май 2006, 15:11

Hadroran писал(а):Итак значит для FireBird-а вместо дельфевого break - leave? хотя и break работает, а что вместо дельфевого continue?
А что, PSQL - это другое название Pascal?

Ответить