使用多记录的 Oracle Forms 更新 Table
Oracle Forms Update Table using Multi-record
我有一个多行块,在 Oracle 表单中看起来像这样:
我的查询:
Select * from table1;
看起来像这样:
+-----+
|value|
+-----+
| 3|
| 3|
| 7|
| 1|
+-----+
列 value 是 table 中的一列,将更新到列 new:
所以当我重新查询时,我的 table 上的值应该是这样的:
+-----+
|value|
+-----+
| 4|
| 6|
| 14|
| 2|
+-----+
我尝试了 post 表单提交:
for i in 1 .. :rec_count
loop
update table1
set value = :new
where value = :value;
end loop;
但这只会更新我拥有的最后一条记录。
在 first_record 和 [=22= 中使用 while 循环 可能是合适的] 通过 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;
我有一个多行块,在 Oracle 表单中看起来像这样:
我的查询:
Select * from table1;
看起来像这样:
+-----+
|value|
+-----+
| 3|
| 3|
| 7|
| 1|
+-----+
列 value 是 table 中的一列,将更新到列 new:
所以当我重新查询时,我的 table 上的值应该是这样的:
+-----+
|value|
+-----+
| 4|
| 6|
| 14|
| 2|
+-----+
我尝试了 post 表单提交:
for i in 1 .. :rec_count
loop
update table1
set value = :new
where value = :value;
end loop;
但这只会更新我拥有的最后一条记录。
在 first_record 和 [=22= 中使用 while 循环 可能是合适的] 通过 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;