Таблица обновления 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;