Progress 4GL支持Oracle中的设定点

Progress 4GL支持Oracle中的设定点,oracle,transactions,progress-4gl,openedge,Oracle,Transactions,Progress 4gl,Openedge,我一直在解决我需要减少特定事务的记录锁定时间的问题。我从OpenEdge文档中读取了ABL事务控制机制,它有一个简单的机制,即当事务完成时,ABL将向Oracle发送提交信号,否则它将向Oracle发送回滚信号。我想知道ABL中是否有使用Oracle设定点概念的规定,以便我只能将事务回滚到某一点。否-Progress提交TX或将其完全回滚。Progress 4Gl不是SQL。有很多方法可以控制事务,但它们并不反映Oracle/SQL概念。你越是努力取得进步,你就会变得越沮丧 最大的区别在于,进步

我一直在解决我需要减少特定事务的记录锁定时间的问题。我从OpenEdge文档中读取了ABL事务控制机制,它有一个简单的机制,即当事务完成时,ABL将向Oracle发送提交信号,否则它将向Oracle发送回滚信号。我想知道ABL中是否有使用Oracle设定点概念的规定,以便我只能将事务回滚到某一点。

否-Progress提交TX或将其完全回滚。

Progress 4Gl不是SQL。有很多方法可以控制事务,但它们并不反映Oracle/SQL概念。你越是努力取得进步,你就会变得越沮丧

最大的区别在于,进步假设你想投入工作。没有显式提交。相反,还有异常处理——如果您发现您实际上并不打算执行某项操作,那么可以使用“撤消”来取消事务或子事务

您尚未显示任何代码,但我猜您可能正在尝试执行以下操作:

label1: do transaction:

  /* some stuff */

  label2: do:

    /* more stuff */

    if something_bad then undo label2, leave.

  end.

end.