【问题标题】:Oracle APEX - Interactive Grid Set-UpOracle APEX - 交互式网格设置
【发布时间】:2019-07-25 17:18:37
【问题描述】:

我在 Google Chrome 上使用 Oracle APEX 18.2.0.00.12,我对使用以下要求设置交互式网格的最佳/首选方式有疑问:

注意:为了简化问题,我将使用假表名和表列名来表示问题。

我有一个如下所示的 EMP 表:

First_Name Last_Name Dept_Code Dept_Name

John                Smith

Jane                 Doe            

在这张表中,有几行数据,但只有 First_Name 和 Last_Name 列中的数据。 Dept_Code 和 Dept_Name 列中没有数据。

我还有一个如下所示的 DEPT 表:

部门代码部门名称

1234 金融

5678 物流

在这张表中,有几行数据,两列数据都存在。

我想基于包含该表中所有列的 EMP 表设置交互式网格,但 Dept_Name 列将是仅显示。因此,对 IG 的查询类似于

SELECT *  
FROM EMP;  

问题:我希望用户能够在 IG 的 Dept_Code 列中输入员工的部门代码。当用户单击保存时,我希望将部门代码保存在该行的 EMP 表的 Dept_Code 列中,并使用该行的 IG 的 Dept_Name 列自动填充 DEPT 表中的相应部门名称。然后我希望将该部门名称保存在 EMP 表该行的 Dept_Name 列中。

例如,IG 看起来像:

First_Name Last_Name Dept_Code Dept_Name

John                Smith

Jane                 Doe    

如果用户在 IG 中输入 5678 作为 John Smith 的 Dept_Code,然后单击保存,我希望将 5678 保存在 EMP 表中该行的 Dept_Code 列中,然后我想要该行的 Dept_Name 列在 IG 中自动填充 Logistics(此数据是从 DEPT 表中提取的)以及 EMP 表中该行的 Dept_Name 列以包含 Logistics。

所以最终的结果是:

EMP 表:

First_Name Last_Name Dept_Code Dept_Name

John                Smith              5678              Logistics

Jane                 Doe   

IG:

First_Name Last_Name Dept_Code Dept_Name

John                Smith              5678              Logistics

Jane                 Doe 

有人知道最好的设置方法吗?

谢谢。

【问题讨论】:

    标签: oracle oracle-apex oracle-apex-5 oracle-apex-5.1 oracle-apex-18.2


    【解决方案1】:

    一种选择是创建一个返回部门名称的函数(代码是参数),例如

    create or replace function f_dept_name (par_dept_code in dept.dept_code%type)
      return dept.dept_name%type
    is
      retval dept.dept_name%type;
    begin
      select dept_name
        into retval
        from dept
        where dept_code = par_dept_code;
    
      return retval;
    end;
    

    然后使用这样的查询创建一个交互式网格:

    select first_name, 
           last_name,
           dept_code, 
           f_dept_name(dept_code) dept_name
    from emp
    

    转到列的属性并 - 对于 dept_name(由函数返回) - 将 query only 属性设置为 yes(您会在“源”属性组)。

    应该可以的。

    【讨论】:

      猜你喜欢
      • 2020-02-22
      • 1970-01-01
      • 1970-01-01
      • 2019-01-26
      • 1970-01-01
      • 2023-01-11
      • 2021-09-17
      • 1970-01-01
      • 2021-01-11
      相关资源
      最近更新 更多