当前行版本标识符已更改

时间:2013-12-03 10:26:24

标签: oracle oracle11g oracle-apex checksum tabular-form

我的apex应用程序中有一个 Master Detail 表单。这是我的表格形式区域来源。

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行)

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:-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不同。

相关问题