我有以下选择语句用作标准报告:
select id,
name,
telephone,
apex_item.checkbox2(10,id) as "Tick when Contacted",
apex_item.text(20,:P2_DATE) as "Date Contacted",
apex_item.textarea(30,:P2_COMMENT,5,80) as "Comment"
from my_table
我的问题是,我不确定我是否正确执行此操作的区域是,如果此语句返回 10 行并且在这 10 行中,我只选择/检查 5 条记录,然后按提交按钮,为什么会这样将所选记录插入另一个表的我的 PL/SQL 页面进程没有拾取:P2_DATE
,:P2_COMMENT
哪些是页面上的隐藏项,纯粹用作占位符,而不是 my_table 中的实际列?
我这样做是正确的还是需要使用 apex 集合?
这是我的页面流程的样子;它是否正确?
DECLARE
v_row BINARY_INTEGER;
BEGIN
FOR i IN 1..APEX_APPLICATION.G_F10.COUNT LOOP
v_row := APEX_APPLICATION.G_F10(i);
INSERT INTO MY_OTHER_TABLE
( DATE_CONTACTED,
COMMENTS
)
VALUES ( APEX_APPLICATION.G_F20(v_row),
APEX_APPLICATION.G_F30(v_row)
);
END LOOP;
COMMIT;
END;
带有用户输入的报告示例如下:
ID/CHECKBOX DATE CONTACTED COMMENTS
=====================================================
1 21/08/2012 Comment 1
2 21/08/2012 Comment 2
3 21/08/2012 Comment 3
4 21/08/2012 Comment 4
5 21/08/2012 Comment 5
根据用户手动输入这 5 条评论的报告,我希望这 5 条记录被插入到 MY_OTHER_TABLE 中,因为它们已经过检查。
不幸的是,我检查过的 5 条记录从未填充 MY_OTHER_TABLE。
我不确定我错过了什么,或者在使用这两个占位符项目时我的原始选择是否完全错误?