gpt4 book ai didi

oracle - 浏览多个字段的值并将它们插入同一列

转载 作者:行者123 更新时间:2023-12-04 07:16:38 24 4
gpt4 key购买 nike

我正在尝试使用重复行为我的 oracle apex 应用程序创建一个功能。假设我有一个 车辆表。

CREATE TABLE vehicles
(
brand VARCHAR2(50),
model VARCHAR2(50),
comment VARCHAR2(50)
);
我首先创建了一个当前正在运行的 PL/SQL 过程,它复制了用户选择的行 n 次。例如,如果用户有 5 辆相同的车辆,他可以输入“5”,应用程序将插入 5 次相同的车辆,当然主键不同。
我想要实现的是让用户可以在每一行添加自定义评论。例如,他将拥有 5 辆相同的汽车,对每一辆都有不同的评论。
这是用户插入汽车时我的程序代码:
FOR i IN 1..:P27_NUMBER_VEHICLES -- this represents the numbers of cars the users want to insert
LOOP
INSERT INTO vehicles(brand, model)
VALUES(:P27_BRAND, :P27_MODEL);
END LOOP;
END;
这会创建 5 辆相同的车辆,但我希望用户能够对每辆车添加 5 条不同的评论,这里是 an example of my insertion form ,评论字段根据用户想要插入的数字动态出现
enter image description here
我现在尝试用评论更新我的程序,我尝试给出一个可以由程序动态更改的名称,我将其命名为:P27_COMMENT_0/1/2/3/4/5。所以我尝试添加: P27_COMMENT_ ||我(循环的索引)尝试自动浏览不同的字段,这是代码:
BEGIN
FOR i IN 1..:P27_NUMBER_VEHICLES
LOOP
INSERT INTO vehicles(brand, model, comment)
VALUES(:P27_BRAND, :P27_MODEL, :P27_COMM_ || i);
END LOOP;
END;
不幸的是,这不起作用。
我希望你们能给我一个解决方案。总而言之,我试图用循环复制一行,但仍然能够为特定列上的每个条目添加一个自定义条目。
不要犹豫,询问更多细节,因为我可能忘记了一些重要的事情。
先感谢您,
托马斯
更新
这是它的显示方式,我不能在上面写任何东西:
enter image description here

最佳答案

我认为使用APEX_ITEM更容易,如下:

  • 在您的项目之后添加交互式报告区域或子区域。
  • 将 IR SQL 查询设置为:

  • SELECT 
    APEX_ITEM.TEXT(
    p_idx => 1,
    p_attributes=> 'placeholder="Comment '|| LEVEL ||'"') AS Name
    FROM dual
    CONNECT BY LEVEL <= TO_NUMBER (:P16_NUM)
    ;
    :P16_NUM是一个项目,其中包含要显示的项目数。不要忘记将它添加到 页面提交项目 在 IR 的 Source 部分。
  • 添加提交按钮。
  • 加工创建一个新进程并遍历项目,如下所示:

  • BEGIN
    apex_debug.enable;
    for i in apex_application.g_f01.FIRST..apex_application.g_f01.LAST loop
    apex_debug.info('####### Comment '||i||' '||apex_application.g_f01(i));
    end loop;
    END;
  • 最后你的 INSERT :
  • INSERT INTO vehicles(brand, model, comment)
    VALUES(:P27_BRAND, :P27_MODEL, apex_application.g_f01(i));
  • 当您检查一切正常时,更改进程代码:
  • BEGIN
    for i in apex_application.g_f01.FIRST..apex_application.g_f01.LAST loop
    INSERT INTO vehicles(brand, model, comment)
    VALUES(:P27_BRAND, :P27_MODEL, apex_application.g_f01(i));
    end loop;
    END;
    编辑
  • 选择输入所在的列,在右侧找到 安全 部分并禁用 转义特殊字符 .

  • enter image description here

    关于oracle - 浏览多个字段的值并将它们插入同一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68726189/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com