Таблица обновления Oracle Forms с использованием нескольких записей

У меня есть многострочный блок, который выглядит следующим образом в формах оракула:

Мой запрос:

Select * from table1;

Выглядит так:

+-----+
|value|
+-----+
|    3|
|    3|
|    7|
|    1|
+-----+

Значение столбца - это столбец в таблице, который необходимо обновить в столбец new:

Чтобы при запросе значения в моей таблице были такими:

+-----+
|value|
+-----+
|    4|
|    6|
|   14|
|    2|
+-----+

Я попытался на пост-форме совершить:

for i in 1 .. :rec_count
loop
    update table1
    set value = :new
    where value = :value;
end loop;

но это только обновляет последнюю запись, которая у меня есть.

1 ответ

Решение

Может быть целесообразно использовать цикл while со встроенными элементами first_record и next_record от кнопки с помощью интеллектуального триггера WHEN-BUTTON-PRESSED со следующим кодом:

declare
   v_blk varchar2(25) := 'block1';
begin   
   go_block(v_blk);
   first_record;
 while ( :value is not null ) 
 loop
  :value := :value + nvl(:added_value,0);
   next_record;
 end loop;

   commit_form;    

   go_block(v_blk);
   execute_query;
end;
Другие вопросы по тегам