游标
游标(Cursor)是处理数据的一种方法,为了查看或者处理结果集中的数据,游标提供了在结果集中一次一行或者多行前进或向后浏览数据的能力。
游标的声明
DECLARE cursor_name [ insensitive] [scroll] CURSOR
FOR select_statement
[FOR{READ ONLY|UPDATE[OF column_name[.n…]
insensitive对游标的结果集进行复制
scroll指定游标位置定义的类型
for read only 只读
UPdate可更新
打开游标
OPEN{{[GLOBAL] cursor_name}|cursor_variable_name]
检索游标
关闭游标
CLOSE {{[GLOBAL] cursor_name}|cursor_variable_name]
释放游标
DEALLOCATE{{[GLOBAL] cursor_name}|cursor_variable_name]
判断游标提取状态
@@FETCH_STATUS
0 成功
-1失败
-2提取的行不存在
事务
事务(Transaction),一般是指要做的或所做的事情。在计算机术语中是指访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。
是指作为单个逻辑工作单元执行的一系列操作,要么完全地执行,要么完全地不执行。
事务ACID:
原子性(Atomic):事务必须是原子工作单元;对于其数据修改,要么全都执行,要么全都不执行。通常,与某个事务关联的操作具有共同的目标,并且是相互依赖的。如果系统只执行这些操作的一个子集,则可能会破坏事务的总体目标。原子性消除了系统处理操作子集的可能性。
一致性(Consistency):事务的一致性指的是在一个事务执行之前和执行之后数据库都必须处于一致性状态。这种特性称为事务的一致性。假如数据库的状态满足所有的完整性约束,就说该数据库是一致的。
隔离性(Isolation):由并发事务所作的修改必须与任何其它并发事务所作的修改隔离。事务查看数据时数据所处的状态,到底是另一个事务执行之前的状态还是中间某个状态,相互之间存在什么影响,是可以通过隔离级别的设置来控制的。
持久性(Durability):事务结束后,事务处理的结果必须能够得到固化,即写入数据库文件中即使机器宕机数据也不会丢失,它对于系统的影响是永久性的。
锁
对数据加锁的机制