0

我的 Apex 应用程序和 page1 和 Page 2 中有 2 页。

在 Page1- 我有 2 个字段,我只是保存,以便我可以在 Page2 中使用它来完全插入表中,主键是我创建的序列。

在第 2 页:主键被隐藏(序列),

我有一个保存按钮,我在该按钮上编写了一个匿名块(动态操作-> 执行 PLSQL 代码)以插入带有第 1 页和第 2 页详细信息的表,它成功并且没有问题。

但问题在于更新按钮。

我再次使用匿名块(动态操作--> 执行 PLSQL 代码)来更新 page2 上的详细信息。但是数据库中的记录没有得到更新。

我正在使用的加入条件

Id=:P6_PRIMARY_KEY (:P6_PRIMARY_KEY 为隐藏字段,Id 为数据库字段,有序列)

我想我无法在 where 条件下获取 Id。

不确定我是否遗漏了什么。

我已经使用类似的匿名块完成了向数据库的插入,并且每次单击“保存”按钮时它都运行良好并创建了一条记录。

我也在为更新按钮做同样的事情。它也不会更新而没有错误。

我的主键是一个序列。我认为它没有保持主键的值。我可能需要在我的 where 条件下改变一些东西。

4

1 回答 1

1

取消隐藏P6_PRIMARY_KEY,以便您看到里面有什么。也许您每次都在获取一个新的序列号 - 难怪 join 不起作用。如果是这种情况,请通过应用来调整执行此操作的过程IF,例如

if :P6_PRIMARY_KEY is null then
   :P6_PRIMARY_KEY := seq_name.nextval;
end if;

或者通过设置流程的条件,例如Item 为 null(当然是哪一个?P6_PRIMARY_KEY)。

此外,启用调试,运行页面,执行更新,然后查看调试结果。它将显示所有项目的值,已执行的代码,因此它可能有助于找到罪魁祸首。

于 2019-06-12T20:34:50.297 回答