oracle-apex - 我创建了一份交互式报告。我想根据每条记录可用的列链接执行 PL/SQL

标签 oracle-apex

我创建了一份交互式报告。我想根据每条记录可用的列链接执行 PL/SQL。例如,报告具有 Flight_ID 和出发日期列。当用户单击该记录上存在的链接时,使用 PL/SQL 我想更新/插入到另一个表中,其中包含上述 2 列下当前记录中可用的详细信息。我怎样才能实现这个目标?请帮忙。 我有一个 plsql block 。

BEGIN
   INSERT INTO flight_seats
      WITH seats AS
       (SELECT rownum r FROM dual CONNECT BY LEVEL <= 350)
      SELECT flight_shedule.flight_id,
             flight_shedule.departure_date,
             r seat,
             CASE
                WHEN r BETWEEN start_a AND end_a THEN
                 'A'
                WHEN r BETWEEN start_b AND end_b THEN
                 'B'
                WHEN r BETWEEN start_c AND end_c THEN
                 'C'
             END CLASS,
             900 fare,
             'o' status
        FROM seats, airplane, flight_shedule
       WHERE flight_shedule.airplane_id = airplane.airplane_id;
END;

我怎样才能在oracle apex中做到这一点。

最佳答案

您可以使用如下 URL 定义链接:

apex.submit('INSERTSEATS_#FLIGHT_ID#_#DEPARTURE_DATE_STR#');

#FLIGHT_ID##DEPARTURE_DATE_STR# 引用报告中的列别名。 DEPARTURE_DATE_STR 列是以某种特定方式格式化的出发日期,例如YYYYMMDD。

这将提交带有类似“INSERTSEATS_123_20151231”之类的请求值的页面。

然后,您可以创建一个提交页面进程,该进程会在 :request like 'INSERTSEATS%'(PL/SQL 条件)时触发。

该流程需要做的第一件事是解析请求值以找出航类 ID 和出发日期。您可以使用 functionapex_util.string_to_table(:request,'_') 将请求字符串拆分为 3 个元素的数组,即字符串“INSERTSEATS”、航类 ID,例如“123”和出发日期,例如“20151231”。

最后,您可以使用插入语句中获取的航类 ID 和出发日期值(首先将日期字符串转换回 date 值)。

更新

@Drumbeg 在评论中指出,您还可以通过 apex.submit 设置页面项。所以你的链接可以这样定义:

apex.submit
  ({request:"INSERTSEATS", 
    set:{"P1_FLIGHT_ID":#FLIGHT_ID#, 
         "P1_DEPARTURE_DATE_STR":#DEPARTURE_DATE_STR#}
  });

您的提交进程将具有条件 Request=INSERTSEATS,并将使用插入语句中页面项目的值。

关于oracle-apex - 我创建了一份交互式报告。我想根据每条记录可用的列链接执行 PL/SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34533501/

相关文章:

oracle - PL/SQL 查询 IN 逗号分隔字符串

oracle - 评估 Oracle APEX 区域中项目的 HTML 内容

oracle-apex - ERR-1002 无法在应用程序中找到项目 "C63657128981248445"的项目 ID

oracle-apex - APEX 5 设置自定义登录失败消息

oracle - ORA-29024 : Certificate validation failure - Apex and HTTPS

oracle - 在 Apex 中提交表单之前添加确认

oracle-apex - 如何在交互式网格中将 APEX$ROW_SELECTOR 与动态操作结合使用

Oracle Apex 5.1 - 如何根据特定条件在文本字段上动态显示/隐藏 '*' 必需符号

database - Oracle 多模式聚合实时 View

oracle - 如何从 Oracle APEX/SQL Workshop 导出完整的数据模型?