我正在尝试使用带有PL / SQL的Oracle Apex中的分支从我的应用程序中获取动态创建字段的值。我试图像:NAME
的其他字段一样获取它,但我没有运气。我的分支代码看起来像这样,
DECLARE
tabs INTEGER := :P2_CREATE_TABS;
lines INTEGER := :P2_LINES;
counter NUMBER := 1;
content VARCHAR2(100);
BEGIN
INSERT INTO EmailContent (CUSTOMERNAME, ORGANISATIONNUMBER, CONTACTNUMBER, EMAIL)
VALUES (:P2_CUST_NAME, :P2_ORG_NUM, :P2_CONTACT_NUM, :P2_EMAIL);
FOR tab_counter IN 1 .. tabs
LOOP
FOR line_count IN 1 .. lines
LOOP
FOR element_count IN 1 .. 3
LOOP
IF(counter < 10) THEN
content := :F||0||counter;
INSERT INTO DynamicContent (ID_EMAIL, ID_TAB, ID_LINE, CONTENTVALUE)
VALUES
(
(SELECT COUNT(*) FROM EmailContent),
tab_counter,
line_count,
content
);
counter := counter + 1;
ELSE
content := :F||counter;
INSERT INTO DynamicContent (ID_EMAIL, ID_TAB, ID_LINE, CONTENTVALUE)
VALUES
(
(SELECT COUNT(*) FROM EmailContent),
tab_counter,
line_count,
content
);
counter := counter + 1;
END IF;
END LOOP;
END LOOP;
counter := 0;
END LOOP;
END;
字段是使用APEX_ITEM.TEXT(...
创建的,其p_idx
生成F01,F02,...,F50,这就是为什么我尝试使用content := :F||0||counter;
和{{ 1}}。
通过这个结果,我的数据库中填充了值01,02,03,...,00,01 ......等等。我想从名为FXX的输入中获取值。
提前致谢!
答案 0 :(得分:0)
谢谢@romeuBraga
由于字段是使用APEX_ITEM.TEXT(...
动态创建的,因此p_idx生成范围为01-50的F,这可以用作数组。可以像APEX_APPLICATION.G_F01(i);
一样访问。