事务

4个基本特征(ACID):

  1. 原子性(atomicity):事务是数据库的逻辑工作单位,事务中的操作要么都做,要么都不做。
  2. 一致性(consistency):事务中的操作如果有一部分成功,一部分失败,为避免数据库产生不一致状态,系统会自动将事务中已完成的操作撤销,是数据库回到事务开始前的状态。因此事务的一致性和原子性是密切相关的。
  3. 隔离性(isolation):一个事务的内部操作及使用的数据对其他事务是隔离的,并发执行的各个事务不能相互干扰。
  4. 持久性(durability):事务一旦体骄傲,则其对数据库中的数据的改变就是永久的,以后的操作或故障不会对事务的操作结果擦好女生任何影响。

2种类型

  1. 隐式事务:每一条数据操作语句都是一个事务(例如一条select语句)。
  2. 显式事务:有显式的开始和结束标记的事务。

并发控制措施

  1. 共享锁(只允许读):对于读操作来说,可以有多个事务同时获得一个数据的共享锁,但阻止其他事务对该数据进行排他锁。
  2. 排他锁(只允许读、写):一旦一个事务获得对某一数据的排他锁,就不允许其他事务对该数据进行任何封锁。

存储过程

创建和执行存储过程

例如:

1
2
3
4
create proc pname
@sname char(20)
as
select * from student where sname=@sname;