当前行版本标识符已更改



我的apex应用程序中有一个主细节表单。这是我的表格格式区域源。

select 
"ITEM_ID",
"ORDER_ID",
"QUANTITY",
"PRICE",
"NOTE",
wwv_flow_item.md5(QUANTITY) "item_hash" -- set to 'hidden' in tabular form
from "#OWNER#"."ITEMS"
where "ITEM_ID" = :P2_ITEM_ID

此外,我添加了页面验证如下。

DECLARE
   l_error   VARCHAR2 (4000);
BEGIN   
   FOR i IN 1 .. apex_application.g_f02.COUNT
       LOOP
       IF apex_application.g_f06(i) IS NOT NULL AND
   wwv_flow_item.md5(apex_application.g_f03(i)) <> apex_application.g_f06(i)
        THEN    
           l_error := l_error    
            || '</br>'
            || '</br>'
            || 'Row '
            || i
            || '</br>'
            || '          Quantity Error';
         END IF;  
      END LOOP;
   RETURN LTRIM (l_error, '</br>');    
END;

但当我尝试以这种形式更新数据时,我得到了以下错误。

自用户启动以来,数据库中数据的当前版本已更改更新过程。当前行版本标识符="4E8A473F53865EF8720F14022DC71E03"应用程序行版本标识符="0ABB3E73FB3E38844974E945864ECDED"(第1行)

我该如何解决这个问题?

尝试将隐藏项命名为其"表名"字段。

例如:

select 
"ITEM_ID",
"ORDER_ID",
QUANTITY as "QCT",
"PRICE",
"NOTE",
wwv_flow_item.md5(QUANTITY) "QUANTITY" -- set to 'hidden' in tabular form
from "#OWNER#"."ITEMS"
where "ITEM_ID" = :P2_ITEM_ID

错误表明,在更新之前,列名已经更改,而且确实更改了。您将其命名为item_hash,因为它与QUANTITY不同。

最新更新