游标 事务 锁

简介: 游标 事务 锁

游标

游标(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):事务结束后,事务处理的结果必须能够得到固化,即写入数据库文件中即使机器宕机数据也不会丢失,它对于系统的影响是永久性的。



对数据加锁的机制




目录
相关文章
|
存储 关系型数据库 MySQL
Mysql数据库—事务和锁
Mysql数据库—事务和锁
|
7月前
|
SQL Oracle 安全
Oracle数据库中的事务和锁
【4月更文挑战第19天】Oracle数据库的事务和锁是确保数据完整性和并发控制的核心机制。事务遵循ACID原则,保证操作的原子性、一致性、隔离性和持久性。通过COMMIT或ROLLBACK来管理事务更改。锁包括共享锁(读)、排他锁(写)、行级锁和表级锁,用于控制并发访问。自动锁机制在DML操作时生效,防止数据冲突。事务和锁共同维护数据库的稳定和安全。
|
XML Java 数据格式
五、事务操作2
五、事务操作2
69 0
|
存储 关系型数据库 MySQL
Mysql数据库(2)—事务和锁
Mysql数据库(2)—事务和锁
142 0
Mysql数据库(2)—事务和锁
|
XML Java API
五、事务操作1
五、事务操作1
93 0
五、事务操作1
|
存储 SQL 关系型数据库
SQL 事务与锁 详解
SQL 事务与锁 详解
SQL 事务与锁 详解
|
缓存 关系型数据库 MySQL
MySQL如何加锁避免并发事务导致的脏写?
多个事务同时并发更新一行数据时, 就有脏写问题。脏写绝对不允许,可依靠锁机制让多个事务更新一行数据的时候串行化,避免同时更新一行数据。
141 0
|
监控 NoSQL Redis
事务-锁|学习笔记
快速学习事务-锁
|
存储 SQL 缓存
mysql存储过程与事务
mysql存储过程与事务
720 0
mysql存储过程与事务