Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法使用Oracle apex中的匿名块更新字段_Oracle_Oracle Apex_Oracle Apex 5.1_Oracle Apex 18.2 - Fatal编程技术网

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

无法使用Oracle apex中的匿名块更新字段,oracle,oracle-apex,oracle-apex-5.1,oracle-apex-18.2,Oracle,Oracle Apex,Oracle Apex 5.1,Oracle Apex 18.2,我的Apex应用程序有两页,分别是第1页和第2页 在第1页-我有两个字段,我只是保存,以便我可以在第2页使用它完全插入到表中,主键是我创建的序列 第2页:主键隐藏(顺序) 我有一个保存按钮,在该按钮上我编写了一个匿名块(动态操作-->执行PLSQL代码)以插入到表中,其中包含第1页和第2页的详细信息,该按钮运行成功,没有问题 但问题在于更新按钮 我再次使用匿名块(动态操作-->执行PLSQL代码)更新第2页上的详细信息。但是数据库中的记录没有更新 我使用的是的连接条件 Id=:P6_PRIMAR

我的Apex应用程序有两页,分别是第1页和第2页

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

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

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

但问题在于更新按钮

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

我使用的是的连接条件

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

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

不确定我是否遗漏了什么

我已经使用类似的匿名块插入到数据库中,它运行得很好,每当我单击Save按钮时都会创建一个记录

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


我的主键是一个序列。我认为它没有保留主键的值。我可能需要在我的where条件下更改一些内容。

取消隐藏
P6_主键
,以便您查看其中的内容。也许您每次都会获取一个新的序列号,所以join不起作用也就不足为奇了。如果是这种情况,则通过应用
If
,例如

if :P6_PRIMARY_KEY is null then
   :P6_PRIMARY_KEY := seq_name.nextval;
end if;
或者通过设置流程的条件,例如项为空(当然是哪一个?
P6\u主键


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

根据我的经验,保存或更新页面中“刚插入”项目的数据往往会很麻烦,因为这些值不在会话中,除非您使用按钮上的提交页面功能。您可以尝试检查会话值选项卡(位于开发人员页面底部)中的值,然后查看您输入的数据是否真实。现在,在我的更新按钮(用于更新值的PLSQL代码)中,这对我很有效我只是在update语句将id返回到:P^_PRIMARY_KEY之后将其用作隐藏值,它实际上将DB的值提取到会话中,我现在可以插入特定的记录了;我很高兴你把它修好了。谢谢你让我们知道。