从动态输入中获取价值

Get value from Dynamic input

我正在尝试使用带有 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;content := :F||counter;.

根据这个结果,我的数据库中填充了值 01、02、03、...、00、01...等。我想从名称为 FXX 的输入中获取值。

提前致谢!

谢谢@romeuBraga

由于字段是使用 APEX_ITEM.TEXT(... 动态创建的,因此 p_idx 生成范围为 01-50 的 F,这可以用作数组。可以这样访问APEX_APPLICATION.G_F01(i);.