Профи, помогайте, сам пока разобраться не могу - не хватает опыта с SQL...
Проверил в БД все входящие данные, всё передано из программы верно.
Код:
insert into "_TEST_TEMP" (TEXT) VALUES (:list_value); (1)
for
select id from list_to_values (:list_value) into :id
do
insert into "_TEST_TEMP" (TEXT) VALUES (:id); (2)
if (:status_id=5) then
update Offices set OFFICE_STATUS_ID=5
where OFFICE_ID=:ID;
if (:status_id=3 or :status_id=4) then
update Offices set OFFICE_STATUS_ID=3
where OFFICE_ID=:ID;
Положим передаём список из 3х номеров "100,101,102"...
Главная процедура п.2.А получила весь список "100,101,102" (1), процедура разбиения списка п.2 разбила список и вернула таблицу (проверено вручную запросом и проверкой результата), после чего процедура п.2.А отработала (2) - согласно проверочной записе вставленной после слова "do" - 3 раза, тк при каждом цикле в тестовую таблицу добавлялись номера "100","101","102"... но в реальности данные изменились только у последней записи номер "102"!
Впечатление, что у конструкции функция корректировки записей работает после ВСЕХ циклов, а не в каждом цикле...
Или же наоборот - начинается цикл с конца списка и сразу после обработки первой в исполнении записи (последней в списке - "102") цикл работает вхолостую не корректируя нужные записи...
Подскажите что нужно скорректировать для этого...