嵌入式SQL语言

事物的特性

嵌入式SQL语言

  • 原子性(Atomicity):事务是应用中最小的执行单位,就如原子是自然界的最小颗粒,具有不可再分的特征一样,事务是应用中不可再分的最小逻辑执行体。

  • 一致性(Consistency):事务执行的结果,必须使数据库从一个一致性状态,变到另一个一致性状态。当数据库只包含事务成功提交的结果时,数据库处于一致性状态。如果系统运行发生中断,某个事务尚未完成而*中断,而该未完成的事务对数据库所做的修改已被写入数据库,此时,数据库就处于一种不正确的状态。比如银行在两个账户之间转账:从 A 账户向 B 账户转入 1000 元,系统先减少 A 账户的 1000 元,然后再为 B 账户增加 1000 元。如果全部执行成功,数据库处于一致性状态;如果仅执行完A 账户金额的修改,而没有增加 B 账户的金额,则数据库就处于不一致性状态:因此,一致性是通过原子性来保证的。

  • 隔离性(Isolation):各个事务的执行互不干扰,任意一个事务的内部操作对其他并发的事务都是隔离的。也就是说,并发执行的事务之间不能看到对方的中间状态,并发执行的事务之间不能互相影响。

  • 持续性(Durability):持续性也称为持久性(Persistence),指事务一旦提交,对数据所做的任何改变都要记录到永久存储器中,通常就是保存进物理数据库。

游标使用

  • 使用FOR UPDATE子句没有加OF表示通过游标可以修改表中的任何一列;

  • FOR UPDATE OF age 表示通过游标只能对age属性进行修改;

  • 使用FOR UPDATE子句表示能通过游标修改表数据,也可以删除表数据;

  • 在定义游标的查询语句时,必须加上FOR UPDATE子句;

细节

嵌入式SQL语言 中Whenever的作用范围是其后的所有Exec SQL语句直到程序中出现(直到执行过程中出现 这是错误的)另一条相同条件的Whenever语句为止。