【发布时间】:2017-01-05 12:38:54
【问题描述】:
我有一个基于简单 sql 的表格形式,例如
select col1, col2, check_box from view1
用户可以更新表单中的check_box,col1和col2会根据check_box是否被选中来进行操作。然后我创建的 MRU 进程将在 DB 中更新基表。
我遇到的问题是,除了使用 MRU 更新基表之外,我还想根据表单中的 check_box 调用另一个 proc 来做其他事情
例如
if check_box is unchecked, then col1 and col2 will be blanked by the MRU;
if check_box is checked, col1 and col2 will be updated to 'Done' by the MRU,
also a proc should be called to do something else.
我的问题是,我应该坚持使用 MRU 方法(因为 MRU 有其优势,包括丢失更新检测、锁定等......),并创建一个单独的进程来调用 proc,还是应该只创建一个进程两者都可以(比如遍历报告的每一行,更新基表,当 check_box 被选中时,调用 proc)?
什么是更好的方法?
【问题讨论】:
-
您确定您说的是交互式报告而不是表格形式(可更新的 sql 查询)?
-
对不起……是的,你是对的,它是一个表格形式。
-
如果需要为每条更新的记录运行该过程,则将其放在同一个 MRU 进程中。如果每个页面请求只运行一次,那么您可以将它创建为一个单独的进程。
-
谢谢杰弗里。我想要做的是,对于每个修改的行,我想执行类似 MY_PROCEDURE() 的东西。如何将其放入 MRU 流程中?我的意思是我可以创建一个 MRU 进程,并将范围设置为“仅用于创建和修改的行”,这将更新对数据库所做的任何更改。如何使 MRU 进程也执行单独的 proc?
标签: oracle plsql report oracle-apex