Таблица обновления Oracle Forms с использованием нескольких записей - PullRequest
0 голосов
/ 29 мая 2018

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

enter image description here

Мой запрос:

Select * from table1;

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

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

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

enter image description here

Так что, когда я запрашиваю, значения в моей таблице должны быть такими:

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

Я пробовал при фиксации формы сообщения:

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

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

1 Ответ

0 голосов
/ 29 мая 2018

Может быть целесообразно использовать цикл 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;
...