知识大全 解析数据库的事务

Posted 语句

篇首语:山涧的泉水经过一路曲折,才唱出一支美妙的歌。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 解析数据库的事务相关的知识,希望对你有一定的参考价值。

  我们知道 数据库的事务是一种单元操作 要么操作全部成功 要么操作全部失败 在Oracle数据库中 一个事务是从执行第一个数据管理语言(DML)语句开始 直到执行一个MIT语句 提交保存这个事务 或者执行一个ROLLBACK语句 放弃此次操作结束 事务的 要么全部完成 要么什么都没完成 的特性会让将错误信息记入数据库表中变得很困难 因为当事务失败重新运行时 用来编写日志条目的INSERT语句还未完成 针对这种困境 Oracle提供了一种便捷的方法 即自治事务 自治事务从当前事务开始 在其自身的语境中执行 它们能独立地被提交或重新运行 而不影响正在运行的事务 正因为这样 它们成了编写错误日志表格的理想形式 在事务中检测到错误时 您可以在错误日志表格中插入一行并提交它 然后在不丢失这次插入的情况下回滚主事务 因为自治事务是与主事务相分离的 所以它不能检测到被修改过的行的当前状态 这就好像在主事务提交之前 它们一直处于单独的会话里 对自治事务来说 它们是不可用的 然而 反过来情况就不同了 主事务能够检测到已经执行过的自治事务的结果 要创建一个自治事务 您必须在匿名块的最高层或者存储过程 函数 数据包或触发的定义部分中 使用PL/SQL中的PRAGMA AUTONOMOUS_TRANSACTION语句 在这样的模块或过程中执行的SQL Server语句都是自治的 触发无法包含MIT语句 除非有PRAGMA AUTONOMOUS_TRANSACTION标记 但是 只有触发中的语句才能被提交 主事务则不行 列表 展示了对一个简单但灵活的错误日志表格所作的CREATE TABLE和CREATE SEQUENCE语句    

  

  CREATE TABLE errorlog ( errorlog_id NUMBER logged_on TIMESTAMP DEFAULT SYSTIMESTAMP logged_by VARCHAR ( ) DEFAULT USER num NUMBER num NUMBER num NUMBER text VARCHAR ( ) text VARCHAR ( ) text VARCHAR ( ) ); CREATE SEQUENCE errorlog_seq START WITH INCREMENT BY ;

   列表 是一个独立的存储过程 用于更新错误日志表格    

  

  CREATE OR REPLACEPROCEDURE log_error ( n IN NUMBER:=NULL t IN VARCHAR:=NULL n IN NUMBER:=NULL t IN VARCHAR:=NULL n IN NUMBER:=NULL t IN VARCHAR:=NULL ) IS PRAGMA AUTONOMOUS_TRANSACTION;BEGIN INSERT INTO errorlog (errorlog_id num num num text text text ) VALUES (errorlog_seq NEXTVAL n n n t t t ); MIT;END;

cha138/Article/program/Oracle/201311/17944

相关参考

知识大全 用Microsoft.net实现数据库事务(1)

用Microsoft.net实现数据库事务(1)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  

知识大全 在.NET中使用Oracle数据库事务

在.NET中使用Oracle数据库事务  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在本文中您

知识大全 数据库中事务处理系统应当具备的四个特征

  数据库中事务处理系统应当具备的四个特征  事务处理系统的典型特点是具备ACID特征ACID指的是Atomic(原子的)Consistent(一致的)Isolated(隔离的)以及Durable(持

知识大全 MS SQL Server数据库事务锁机制分析

MSSQLServer数据库事务锁机制分析  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  锁是网

知识大全 Oracle数据库为了数据的完整性的嵌套事务调用的研究

Oracle数据库为了数据的完整性的嵌套事务调用的研究  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧

知识大全 dOOdad提供的数据绑定、特殊函数和事务处理

dOOdad提供的数据绑定、特殊函数和事务处理  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  &

知识大全 Spring 事务管理

Spring事务管理  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  数据库事务是由一系列的动作组

知识大全 Oracle数据完整性嵌套事务调用分析研究

Oracle数据完整性嵌套事务调用分析研究  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!本文分析一

知识大全 Oracle数据的完整性的嵌套事务调用的研究

Oracle数据的完整性的嵌套事务调用的研究  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  为了

知识大全 如何使用Hibernate来管理事务

如何使用Hibernate来管理事务  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在数据库应用