|
Выход из цикла в ХП
|
|||
---|---|---|---|
#18+
Есть ли в IB функция для выхода из цикла в ХП, аналогично функции Break в Дельфях? Мне нужно следующее: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
З.Ы. Делаю на IB 7.5, но на некоторых клиентах в филиалах стоит IB 6.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
11.07.2005, 13:10 |
|
Выход из цикла в ХП
|
|||
---|---|---|---|
#18+
asdasЕсть ли в IB функция для выхода из цикла в ХП, аналогично функции Break в Дельфях? ... З.Ы. Делаю на IB 7.5, но на некоторых клиентах в филиалах стоит IB 6.5 есть ли в IB 7.5, 6.5 что-то похожее на leave или break я не знаю. Но выход из for-select-а можно сэмулировать: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
... |
|||
:
Нравится:
Не нравится:
|
|||
11.07.2005, 14:00 |
|
Выход из цикла в ХП
|
|||
---|---|---|---|
#18+
А есть более правильное решение для выхода из цикла select for? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.09.2012, 18:12 |
|
Выход из цикла в ХП
|
|||
---|---|---|---|
#18+
NONAME из ПРОШЛОГОА есть более правильное решение для выхода из цикла select for?например, сделать такой селект, который бы выбирал только необходимые записи, не больше и не меньше. ps. я даже не припомню, чтобы пользовался каким-то специальным выходом. или for select, или while. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.09.2012, 18:35 |
|
Выход из цикла в ХП
|
|||
---|---|---|---|
#18+
заведи переменную :exit_flag и делай select... where (:exit_flag=0) and... а в цикле когда надо выставишь флаг выхода Вообще на ibase.ru был давно FAQ и там были методики прерывания select'a до того как появились SELECT ... ROWS и SELECT FIRST n SKIP m ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2012, 09:53 |
|
Выход из цикла в ХП
|
|||
---|---|---|---|
#18+
Arioch, Читайте про LEAVE (с FB 2.0)... ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2012, 11:00 |
|
Выход из цикла в ХП
|
|||
---|---|---|---|
#18+
я знаю, но эта тема не про FB ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2012, 11:08 |
|
Выход из цикла в ХП
|
|||
---|---|---|---|
#18+
Arioch, На IB2007 изменение флага в теле цикла никак не влияет на прерывание селекта. Условие проверяется один раз, при старте, и все. Есть какие либо мысли по поводу прерывания выборки в for select ... do ... suspend? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2016, 17:40 |
|
Выход из цикла в ХП
|
|||
---|---|---|---|
#18+
нашёл! оказывается, в 2007 оно уже есть, а мне казалось, что только в 2009 https://ru.wikipedia.org/wiki/Select_(SQL)#.D0.9E.D0.B3.D1.80.D0.B0.D0.BD.D0.B8.D1.87.D0.B5.D0.BD.D0.B8.D0.B5_.D0.B2.D0.BE.D0.B7.D0.B2.D1.80.D0.B0.D1.89.D0.B0.D0.B5.D0.BC.D1.8B.D1.85_.D1.81.D1.82.D1.80.D0.BE.D0.BA ----- SELECT * FROM [T] ROWS 10 ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2016, 16:18 |
|
Выход из цикла в ХП
|
|||
---|---|---|---|
#18+
Sia-Ori1, Вау, круто! ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2016, 16:41 |
|
Выход из цикла в ХП
|
|||
---|---|---|---|
#18+
Не всем же в высоких материях витать :) Да и народ тут в основном на FB. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2016, 17:02 |
|
Выход из цикла в ХП
|
|||
---|---|---|---|
#18+
Sia-Ori1, Особенно если в голове каша. ROWS это не прерывание выборки, а непрерывная выборка заранее известного числа записей. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2016, 18:51 |
|
Выход из цикла в ХП
|
|||
---|---|---|---|
#18+
Sia-Ori1нашёл! оказывается, в 2007 оно уже есть, а мне казалось, что только в 2009 ссылка ваша хреновая. row_number, как и оконных функций, в InterBase нет, никакой версии. ограничитель ROWS для ORDER BY (! и ни для чего другого) появился действительно в InterBase 2007. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2016, 18:59 |
|
Выход из цикла в ХП
|
|||
---|---|---|---|
#18+
Всем спасибо за комментарии. Альтернативных вариантов прервать цикл for select ... suspend не нашёл. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2016, 19:18 |
|
Выход из цикла в ХП
|
|||
---|---|---|---|
#18+
Sia-Ori1, А курсоры (declare ... as cursor ...) есть в IB2007? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2016, 09:39 |
|
|
start [/forum/topic.php?fid=40&msg=37970983&tid=1561912]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
45ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 158ms |
0 / 0 |