【问题标题】:Oracle Apex- Update field in dml form on basis of another field which is not primary keyOracle Apex- 基于另一个不是主键的字段以 dml 形式更新字段
【发布时间】:2020-05-18 08:37:11
【问题描述】:

我们可以根据 dml 形式的另一个列名更新列值吗?

例如:我创建了一个包含静态内容的普通区域。 P1_PERSON_ID - 主键 P1_PERSON_NAME P1_ASSIGNED_DEPT P1_APPROVER

处理中 - 自动 DML 处理集。 所以当这个页面运行时,我希望选择人名(它是选择列表)并为那个人和那个assigned_Dept设置批准者值。

当我选择人名时,它会在后端获取作为主键的人名并相应地更新其他列。

所以说当我选择 Person_Name -> Mark, Assigned_Dept HR 并将 Approver 设置为 1 时。 我希望表 it_people 在这种情况下将 person_name 更新为 1,将 person_name 更新为 Mark,将 dept 更新为 HR。 类似 update it_people 设置approver-1,其中person_name=Mark 和assigned_Dept=HR。 主键是 PERSON_ID 但由于表单不会为特定员工提供任何预取值,我希望它根据另一列值更新一列。 有可能吗?

附:我提出了类似的问题,但无法解释正确的问题,所以在这里提出以明确提及要求。

Oracle Apex 20.1 Automatic DML processing not working to save updates

旧线程

【问题讨论】:

    标签: oracle-apex


    【解决方案1】:

    我无权访问您的数据,因此我尝试使用示例数据集 EMP/DEPT。这是一个完全符合您描述的测试用例。

    • 在表 emp 上创建一个带有报表的表单
    • 在表单属性中,仅将“更新行”勾选为“允许的操作”
    • 对于这个例子,我想选择一个员工并使用内置的行处理更新他的薪水。所以我隐藏了除 SAL 列之外的所有列。然后我将 P1_EMPNO 设为选择列表(而不是隐藏)。这是主键字段,因此如果将其设为选择列表,则选择列表中的选定值是您要更新的行的主键。 P1_EMPNO 的源查询:
    SELECT ename,
           empno
      FROM emp
    

    现在可以通过任何员工的 emp 报告上的“编辑”链接访问表单。选择员工并更改薪水。如果您保存正确的行,则更新。

    --柯恩

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-12-12
      • 2014-12-25
      • 1970-01-01
      • 1970-01-01
      • 2014-12-13
      • 1970-01-01
      • 2017-02-02
      • 1970-01-01
      相关资源
      最近更新 更多