oracle事务如何使用 oracle事务处理
求问在.NET中如何使用Oracle数据库事务 (5)
您可以使用 OracleTransaction 类的 Save() 方法在事务中设置保存点。 如果您有一个非常长的事务并且希望能够仅回滚到某个特定的时间点,那么您可能要使用保存点。例如,您可能想对 10 个产品做一些更改,然后设置一个保存点,然后再对另 10 个产品做更改;如果您在进行第二批更改时出现了错误,那么您可以回滚至保存点,使您的第一批更改原封不动。 我将带您逐步完成演示如何使用保存点的 C# (TransExample2.cs) 示例程序和 VB.NET (TransExample2.vb) 示例程序中的相关新步骤。这些程序向表 products 中添加一行,设置一个保存点,向表 products 中添加另一行,回滚至保存点,然后从表 products 中读取这些行。在回滚至保存点后,只有添加到表 products 中的第一行保留了下来:第二行将已被删除。 第1 到第 3 步与“在 C# 和 VB.NET 中使用数据库事务”部分中所示的步骤相同,因此在这里将其省略。 第4 步 向表products 中添加一行,该行的产品 ID 为 6。 在C# 中: myOracleCommand.CommandText = "INSERT INTO products (" + " product_id, product_type_id, name, description, price" + ") VALUES (" + " 6, 2, 'Man from Another World', ' Man from Venus lands on Earth', 24.99" + ")"; myOracleCommand.ExecuteNonQuery();在VB.NET 中: myOracleCommand.CommandText = _ "INSERT INTO products (" _ " product_id, product_type_id, name, description, price" _ ") VALUES (" _ " 6, 2, 'Man from Another World', 'Man from Venus lands on Earth', 24.99" _ ")" myOracleCommand.ExecuteNonQuery()第5 步 使用OracleTransaction 的 Save() 方法设置一个名为 SaveProduct 的保存点。 在C# 中: myOracleTransaction.Save("SaveProduct");在VB.NET 中: myOracleTransaction.Save("SaveProduct")第6 步 向表products 中添加另一行,该行的产品 ID 为 7。 在C# 中: myOracleCommand.CommandText = "INSERT INTO products (" + " product_id, product_type_id, name, description, price" + ") VALUES (" + " 7, 2, 'Z-Files', 'Mysterious stories', 14.99" + ")"; myOracleCommand.ExecuteNonQuery();在VB.NET 中: myOracleCommand.CommandText = _ "INSERT INTO products (" _ " product_id, product_type_id, name, description, price" _ ") VALUES (" _ " 7, 2, 'Z-Files', 'Mysterious stories', 14.99" _ ")" myOracleCommand.ExecuteNonQuery()第7 步 回滚到先前在第 5 步中设置的 SaveProduct 保存点。 在C# 中: myOracleTransaction.Rollback("SaveProduct");在VB.NET 中: myOracleTransaction.Rollback("SaveProduct")完成回滚后,在第 6 步中添加的第二行已被删除,而在第 4 步中添加的第一行保留了下来。 TransExample2.cs 和 TransExample2.vb 中剩下的步骤显示表 products 的内容,回滚整个事务并从数据库断开。 用于Microsoft Transaction Server 的 Oracle 事务服务的快速说明。Microsoft Transaction Server 是一个运行在互联网或网络服务器上的专有事务处理系统。Microsoft Transaction Server 为客户端计算机部署和管理应用程序和数据库事务请求。 Microsoft Transaction Server 是以服务器为中心的三层体系结构模型的一个组件。这种方法实现了将应用程序的表示、业务逻辑和数据元素清晰地分布到在一个网络中连接的不同计算机上。无需专门集成,您就可以在与 Oracle 数据库服务器 8.0.6 版或更高版本连接的 Microsoft Transaction Server 中部署一个组件,但首先您必须安装 Oracle Services for Microsoft Transaction Server。 结论在本文中,您系统学习了在 .NET 程序中使用数据库事务。 (T004)
创新互联公司是由多位在大型网络公司、广告设计公司的优秀设计人员和策划人员组成的一个具有丰富经验的团队,其中包括网站策划、网页美工、网站程序员、网页设计师、平面广告设计师、网络营销人员及形象策划。承接:网站设计、做网站、网站改版、网页设计制作、网站建设与维护、网络推广、数据库开发,以高性价比制作企业网站、行业门户平台等全方位的服务。
Oracle怎么显式开启事务,开始事务跟锁有什么关系,在存储过程中有时怎么开启和提交,回滚事务的
oracle使用语句savepoint sp_begintran开启显式事务,锁本身和事务是没有关系的,只要是数据库的操作都会产生锁。处于事务中的SQL语句只有这个事务提交(commit)之后,事务中的SQL语句影响的表记录上的锁才会释放。锁常见有共享锁(select语句产生)和排它锁(DML语句产生),如果一个表上加载有共享锁,还可以叠加共享锁,但不能叠加排它锁。如果一个表上加载有排他锁,就什么锁都不能加了,也就是说如果DML语句占用过多的时间,这些数据库效率就不高,就需要优化,当然select语句性能低了也不行。
每个存储过程可以不用显式事务,它本身就为你开启了一个隐式事务,如果需要开启显示事务,就通过savepoint sp_begintran开启,无论是不是显式还是隐式事务,你都得通过commit work提交事务,通过exception捕捉SQL语句异常,在异常发生时需要回滚事务(rollback work)。
oracle存储过程中使用事务管理
存储过程里的事务操作
create or replace procedure pr_mypro (p_a in varchar p_b in varchar p_count out number)
temp varchar ( ); /**//*定义临时变量*/
is
begin
select code into p_count from table where a=p_a; /**//*查询并返回值*/
temp := p_count; /**//*将返回值赋给临时变量*/
savepoint point ; /**//*保存点*/
insert into table (a b)values(temp p_b); /**//*将临时变量值添加到新表的字段*/
savepoint point ;
insert into
exception
when others then
rollback to savepoint point ; /**//*异常处理 保存点下面的操作都不会被执行*/
return;
end;
保存点(SAVEPOINT)是事务处理过程中的一个标志 与回滚命令(ROLLBACK)结合使用 主要的用途是允许用户将某一段处理回滚而不必回滚整个事务
如果定义了多个savepoint 当指定回滚到某个savepoint时 那么回滚操作将回滚这个savepoint后面的所有操作(即使后面可能标记了N个savepoint)
lishixinzhi/Article/program/Oracle/201311/16520
如何在oracle中开启一个事务有这样的命令么?当你进入一个会话时你怎么知道当前所处的是否在一个事务中?
BeginTrans用于开始一个事物;RollbackTrans用于回滚事务;CommitTrans用于提交所有的事务处理结果,即确认事务的处理
BeginTrans和CommitTrans 用于标记事务的开始和结束,在这两个之间的语句,就是作为事务处理的语句
Oracle中事务怎么使用 ,什么时候使用事物
事务是为了实现数据的一致性和并发处理,你对数据进行定义和修改时就会产生事务。
例如你执行update语句,这时事务就开始了,执行commit会提交事务,而rollback会回滚(撤销)事务。如果你什么也不做,那么正常退出程序时会自动提交,而程序异常中止则会回滚事务。
文章标题:oracle事务如何使用 oracle事务处理
转载注明:http://myzitong.com/article/hjcojp.html