浏览多个字段的值并将其插入到同一列中

Browse the values of multiple fields and insert them into the same column(浏览多个字段的值并将其插入到同一列中)

本文介绍了浏览多个字段的值并将其插入到同一列中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试使用复制的行为我的Oracle APACH应用程序创建一个功能。假设我有一个车辆表。
CREATE TABLE vehicles
(
    brand VARCHAR2(50),
    model VARCHAR2(50),
    comment VARCHAR2(50)
);
我首先创建了一个当前正在运行的PL/SQL过程,它将用户选择的行复制n次。例如,如果用户有5辆相同的车辆,他可以输入&q;5&q;,应用程序将插入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,评论字段根据用户想要插入的数字动态显示

我现在已尝试使用注释更新我的过程,我尝试给出一个可由该过程动态更改的名称,我将其命名为:p27_COMMENT_0/1/2/3/4/5。因此,我尝试添加:p27_COMMENT_||i(循环的索引)以尝试自动浏览不同的字段,代码如下:

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;

很遗憾,这不起作用。

我希望你们能给我一个解决方案。总而言之,我正在尝试使用循环复制一行,但仍然能够为特定列上的每个行添加自定义条目。

请不要犹豫询问更多细节,因为我可能忘了一些重要的事情。

提前谢谢您,

托马斯

更新

这是它的显示方式,我不能在上面写任何东西:

推荐答案

在我看来更容易使用apex_Item,如下所示:

  1. 在项目后添加交互式报表区域或子区域。

  2. 将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"源"部分的"要提交的页面项目"中。

  1. 添加提交按钮。

  2. 处理中创建新流程并迭代项目,如下所示:

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;
  1. 终于您的INSERT
INSERT INTO vehicles(brand, model, comment)
VALUES(:P27_BRAND, :P27_MODEL, apex_application.g_f01(i));
  1. 检查一切正常后,更改进程代码:
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;

编辑

  1. 选择输入所在的列,在右侧找到"安全性"部分并禁用转义特殊字符

这篇关于浏览多个字段的值并将其插入到同一列中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:浏览多个字段的值并将其插入到同一列中

基础教程推荐