无法使用Oracle apex中的匿名块更新字段

时间:2019-06-12 14:04:15

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

我的Apex应用程序中有2页,分别是page1和Page 2。

在第1页中,我有2个字段要保存,以便可以在第2页中使用它完全插入表中,而主键是我创建的序列。

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

我有一个“保存”按钮,上面写了一个匿名块(动态操作->执行PLSQL代码),该页面将同时插入第1页和第2页“详细信息”到表中,成功并且没有问题。

但是问题出在“更新”按钮上。

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

我正在使用的加入条件

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

我认为我无法在where条件下获取ID。

不确定我是否缺少某些东西。

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

我对“更新”按钮也做同样的事情。它不会更新也没有错误。

我的主键是一个序列。我认为以某种方式不能保留主键的值。我需要在可能的情况下进行一些更改。

1 个答案:

答案 0 :(得分:1)

取消隐藏P6_PRIMARY_KEY,以便您看到其中的内容。也许您每次都在获取一个新的序列号,所以-怪不得join无法正常工作。如果是这种情况,请通过应用IF(例如

)来调整执行此操作的过程
if :P6_PRIMARY_KEY is null then
   :P6_PRIMARY_KEY := seq_name.nextval;
end if;

或通过设置处理条件,例如项目为空(当然是哪个?P6_PRIMARY_KEY。)

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