Страница 1 из 1
Процедура
Добавлено: 12 авг 2005, 10:36
atla
Добрый день
Вопрос
есть процедура, в ней 2 вложенных цикла for
внутри второго цикла по условию идет update
как можно сделать если произошел update выйти из внутреннего цикла и не перебирать бесполезно остальные записи, и вернуться на внешний
как это выглядит
BEGIN
fot
select * from table....
do
begin
for select * from table1 ......
do
if ($num = 1)
Update ......
Добавлено: 12 авг 2005, 15:14
dimitr
Если сервер - FB, то BREAK.
Добавлено: 12 авг 2005, 17:32
atla
Сервер FB версия 1.5.2 нет команды break
Добавлено: 12 авг 2005, 17:59
Merlin
atla писал(а):Сервер FB версия 1.5.2 нет команды break
Покрали? Где искал?
Добавлено: 12 авг 2005, 18:08
atla
для работы с базой данных используемся клиент EMS QuickDesk
так вот когда пишешь break и пытаешся скомпилировать процедуру он выдает ошибку. Precompiler Error: unknown variable - break.
Добавлено: 12 авг 2005, 18:44
Merlin
Слово "precompiler" никаких ассоциаций не вызывает? Это сообщение QuickDesk, а не сервера. Либо устаревший, либо ему, как и Эксперту, надо где-то явно указать, что он имеет дело с FB1.5, а не с какой-либо версией IB.
Добавлено: 15 авг 2005, 16:35
kdv
relnotes к 1.5 надо читать. вместо break уже давно leave. break если и остался, то как deprecated.
Добавлено: 15 авг 2005, 19:56
dimitr
kdv писал(а):relnotes к 1.5 надо читать. вместо break уже давно leave.
в данном контексте монопенисуально. Там EMS виноват.
Добавлено: 15 авг 2005, 20:07
Merlin
dimitr писал(а):kdv писал(а):relnotes к 1.5 надо читать. вместо break уже давно leave.
в данном контексте монопенисуально. Там EMS виноват.
Кстати, у меня есть несколько процедур с локальными переменными с именем FIRST. Экспертом их не создать и не проальтерить и вообще не подступиться, хотя isql-WISQL - no problem. Тоже пример более жёсткого отношения стороних парсеров к ключевым словам.