·BEGIN TRAN read A; A:=A-S; IF(A<O)THEN [display“A款不足 “; ROLLBACK]/*恢复* ELSE [B:=B+S; display“完成拨款“; COMMIT]:/*提交 209-8
• BEGIN TRAN • read A; • A:= A-S; • IF(A<0) THEN • [display “A款不足“; • ROLLBACK] /* 恢复 */ • ELSE • [B:=B+S; • display “完成拨款“; • COMMIT]; /* 提交 */ • 209—8
说明: 两个出口: ROLLBACK- 撤消,卷回。撤消事务,并 消除其对数据库的影响 inothing"” C0MM1T—提交—”alI”,事务正确完成。 2C0MMIT之后,事务对数据库产生影响才对 其它事务开放。必要性:修改中数据可能的 不一致;事务可能撤消,结合上例; 3执行C0MMIT命令时,应封闭中断。原因: 中断处理中发生故障,系统无法确定该事务 是否提交。 2097
209—7 • 说明: 1 两个出口: • ROLLBACK——撤消,卷回。 撤消事务,并 消除其对数据库的影响_____ “nothing”. • COMMIT——提交——”all” ,事务正确完成。 2 COMMIT 之后,事务对数据库产生影响才对 其它事务开放。必要性:修改中数据可能的 不一致;事务可能撤消,结合上例; 3 执行 COMMIT命令时,应封闭中断。原因: 中断处理中发生故障,系统无法确定该事务 是否提交