Oracle apex 如何在Oracle Apex中实现悲观锁定
我有ID列上的链接,当用户点击链接时,有一个编辑按钮。 单击“编辑”时,用户可以进行更改 但是,我想确保两个用户不能同时编辑,当一个用户单击编辑时,所有用户在保存/提交记录之前都不能看到编辑按钮。 另外,若要留下信息,如记录正在由其他用户编辑,请稍后再试 我可以在表中添加一列,例如编辑编号(1),但如何将此列更改为1。Oracle apex 如何在Oracle Apex中实现悲观锁定,oracle-apex,Oracle Apex,我有ID列上的链接,当用户点击链接时,有一个编辑按钮。 单击“编辑”时,用户可以进行更改 但是,我想确保两个用户不能同时编辑,当一个用户单击编辑时,所有用户在保存/提交记录之前都不能看到编辑按钮。 另外,若要留下信息,如记录正在由其他用户编辑,请稍后再试 我可以在表中添加一列,例如编辑编号(1),但如何将此列更改为1。 当用户单击编辑按钮时?回答您的问题: 您可以创建一个动态动作,该动作将在页面加载时触发。然后DA应将列更新为1或Y !!警告: 但如何确保该列将更新回0或N?关闭模式的按钮和操作
当用户单击编辑按钮时?回答您的问题:
您可以创建一个动态动作,该动作将在页面加载时触发。然后DA应将列更新为1或Y !!警告:
但如何确保该列将更新回0或N?关闭模式的按钮和操作可以将列更新回初始状态,但X-Close窗口按钮不能。如果浏览器关闭或崩溃怎么办 在这种情况下,您将留下一条记录,任何人都无法再编辑该记录,因为该记录仍指示为当前正在编辑 我强烈建议不要走那条路
相反,请信任Oracle APEX的
防止丢失更新
和锁定行
机制。这些可在自动行处理过程的设置部分获得。回答您的问题:
您可以创建一个动态动作,该动作将在页面加载时触发。然后DA应将列更新为1或Y
!!警告:
但如何确保该列将更新回0或N?关闭模式的按钮和操作可以将列更新回初始状态,但X-Close窗口按钮不能。如果浏览器关闭或崩溃怎么办
在这种情况下,您将留下一条记录,任何人都无法再编辑该记录,因为该记录仍指示为当前正在编辑
我强烈建议不要走那条路
相反,请信任Oracle APEX的防止丢失更新
和锁定行
机制。这些在自动行处理过程的设置部分中可用。谢谢@Giliam,我可以在崩溃时安排作业。我使用普通页面进行编辑,而不是使用模式对话框。在单击“保存”按钮后,我是否可以使用DA将列再次更新为0或N。但是,如果这不是一个模式,那么如何确保在执行保存操作后,用户开始编辑更多的列,而列已被设置回其打开状态。就像我之前说过的,这不是一条路。@Goku但Giliam是对的,为什么传统的乐观锁定对这个页面来说不够好?我不使用自动行处理来保存数据。我使用PL/SQL代码。我尝试使用散列值来比较表头之前和单击保存时表中的数据。但用户可以浪费时间编辑该记录,然后得到该记录已过时的消息。在这种情况下,用户必须再次编辑记录。谢谢@Giliam,我可以在崩溃时安排作业。我使用普通页面进行编辑,而不是使用模式对话框。在单击“保存”按钮后,我是否可以使用DA将列再次更新为0或N。但是,如果这不是一个模式,那么如何确保在执行保存操作后,用户开始编辑更多的列,而列已被设置回其打开状态。就像我之前说过的,这不是一条路。@Goku但Giliam是对的,为什么传统的乐观锁定对这个页面来说不够好?我不使用自动行处理来保存数据。我使用PL/SQL代码。我尝试使用散列值来比较表头之前和单击保存时表中的数据。但用户可以浪费时间编辑该记录,然后得到该记录已过时的消息。在这种情况下,用户必须再次编辑记录。