powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Как реализовать цикл с неизвестным числом повторений?
2 сообщений из 2, страница 1 из 1
Как реализовать цикл с неизвестным числом повторений?
    #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
Как реализовать цикл с неизвестным числом повторений?
    #32076018
Фотография Calm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проблема решена :)
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Как реализовать цикл с неизвестным числом повторений?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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