post-text-item 无法接受提交

post-text-item can't accept commit

谁能推荐一个我可以在文本框中使用的好触发器。我打算在文本框中使用的操作是当用户更改文本框中的值时,我调用一个过程来更新数据库 table 中的值并提交。但是,因此当用户更改值并按下回车键时,它应该转到下一个项目,然后更新数据库。它在 KEY-NEXT-ITEM 触发器中工作正常。但是,一个问题是说用户更改了 fld 中的值,但没有按 tab 或 enter,而是直接 F10 提交。我在文本框中的触发器(即 KEY-NEXT-ITEM)没有触发。我尝试了 POST-TEXT-ITEM ,但它不允许我使用 ,COMMIT 或 NEXT_ITEM 内置插件。我希望触发器在用户退出项目时触发,并且它应该转到表单中的下一个项目

使用 WHEN-VALIDATE-ITEM 触发器。此触发器主要用于验证用户输入的值。每当表单决定时、用户完成字段值时都会触发 - 当用户离开字段时、当用户按下提交时等。

很遗憾,您无法在此触发器中使用 COMMIT_FORM。表单建议仅在事务触发器中直接更改数据库。要通过提交实现数据库更改,请在自治事务中创建数据库过程 运行:

CREATE OR REPLACE PROCEDURE do_somethning (some_id NUMBER, some_value VARCHAR2) AS
  PRAGMA AUTONOMOUS_TRANSACTION;
BEGIN
  UPDATE some_table SET some_column = some_value
    WHERE table_id = some_id;
  COMMIT;
END do_somethning;

Yout WHEN-VALIDATE-ITEM 触发器可以像这样

BEGIN
   -- probably do some validations
   ...
   -- call your procedure
   do_something(:some_block.id, :some_block.your_field);
END;