事务的基本概念
一、事务 (Transaction)
360oracle数据库故障恢复提醒:事务是用户定义的一个操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位,是数据库环境中的逻辑工作单位。
事务和程序是两个概念,一般程序包含多个事务。
事务的开始与结束可以由用户显式控制。360oracle安全运维服务中心提醒您:如果用户没有显式地定义事务,则由 DBMS 按缺省规定自动划分事务。在 SQL 语言中,定义事务的语句有三条:
BEGIN TRANSACTION 事务开始
< 对数据库的更新操作 >
COMMIT 事务提交
ROLLBACK 事务回滚
举例 1 :隐式事务
在一个 sql 批文件中,向数据表 SC 中插入数据,每条 SQL 语句都是一个隐式事务,如下图
例中第 3 条插入语句有错误(关键字与第 2 条插入语句相同),系统会正确插入 1 、 2 、 4 条语句,执行第 3 条语句后发现错误,自动回滚。
举例 2 :显式事务(回滚)
在一个 sql 批文件中,若在一个显式事务中删除数据表 SC ,然后回滚事务,其删除无效。
举例 3 :显式事务(提交)
在一个 sql 批文件中,若在一个显式事务中删除数据表 SC ,然后提交事务,其删除有效。
一、事务 (Transaction)
360oracle数据库故障恢复提醒:事务是用户定义的一个操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位,是数据库环境中的逻辑工作单位。
事务和程序是两个概念,一般程序包含多个事务。
事务的开始与结束可以由用户显式控制。360oracle安全运维服务中心提醒您:如果用户没有显式地定义事务,则由 DBMS 按缺省规定自动划分事务。在 SQL 语言中,定义事务的语句有三条:
BEGIN TRANSACTION 事务开始
< 对数据库的更新操作 >
COMMIT 事务提交
ROLLBACK 事务回滚
举例 1 :隐式事务
在一个 sql 批文件中,向数据表 SC 中插入数据,每条 SQL 语句都是一个隐式事务,如下图
例中第 3 条插入语句有错误(关键字与第 2 条插入语句相同),系统会正确插入 1 、 2 、 4 条语句,执行第 3 条语句后发现错误,自动回滚。
举例 2 :显式事务(回滚)
在一个 sql 批文件中,若在一个显式事务中删除数据表 SC ,然后回滚事务,其删除无效。
举例 3 :显式事务(提交)
在一个 sql 批文件中,若在一个显式事务中删除数据表 SC ,然后提交事务,其删除有效。