Гость
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Как реализовать цикл с неизвестным числом повторений? / 2 сообщений из 2, страница 1 из 1
05.12.2002, 11:02
    #32075955
Calm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как реализовать цикл с неизвестным числом повторений?
Уважаемые коллеги!
Стоит задача обработки дерева в таблице.
Хочу во временную таблицу заносить записи во время обработки этой таблицы.

Т.е. в начале в таблице имеется одна запись. Она обрабатывается и удаляется, а в таблицу помещаются другие записи. Обработка завершается, когда таблица пуста.
Корректно ли в данном случае использовать конструкцию FOR SELECT... :

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
FOR SELECT id FROM MyTempTable
       INTO :TempID
DO BEGIN
   DELETE FROM MyTempTable WHERE id=:TempID;
    /* My some actions */ 

    /* Заносим в таблицу всех сыновей обработанного узла*/ 
   FOR SELECT * FROM MyTempTable
         INTO :lID, :...  /*все поля таблицы*/ 
         WHERE MyTempTable.Root=:TempID   /*Root укзаывает на родителя узла*/ 
   DO BEGIN
     INSERT INTO MyTempTable (id ... ) VALUES (<Параметры из Into>)
   END
END
...
Рейтинг: 0 / 0
05.12.2002, 12:15
    #32076018
Calm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как реализовать цикл с неизвестным числом повторений?
Проблема решена :)
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Как реализовать цикл с неизвестным числом повторений? / 2 сообщений из 2, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]