oracle存储过程中的事务
来源:互联网 发布:网络机顶盒连网显示灯 编辑:程序博客网 时间:2024/05/29 18:05
存储过程里的事务操作:
create or replace procedure pr_mypro2(p_a in varchar2,p_b in varchar2,p_count out number)
temp varchar2(1000); /**//*定义临时变量*/
is
begin
select code into p_count from table1 where a=p_a; /**//*查询并返回值*/
temp := p_count; /**//*将返回值赋给临时变量*/
savepoint point1; /**//*保存点*/
insert into table2(a,b)values(temp,p_b); /**//*将临时变量值添加到新表的字段*/
savepoint point2;
insert into
exception
when others then
rollback to savepoint point1; /**//*异常处理,保存点下面的操作都不会被执行*/
return;
end;
保存点(SAVEPOINT)是事务处理过程中的一个标志,与回滚命令(ROLLBACK)结合使用,主要的用途是允许用户将某一段处理回滚而不必回滚整个事务。temp varchar2(1000); /**//*定义临时变量*/
is
begin
select code into p_count from table1 where a=p_a; /**//*查询并返回值*/
temp := p_count; /**//*将返回值赋给临时变量*/
savepoint point1; /**//*保存点*/
insert into table2(a,b)values(temp,p_b); /**//*将临时变量值添加到新表的字段*/
savepoint point2;
insert into
exception
when others then
rollback to savepoint point1; /**//*异常处理,保存点下面的操作都不会被执行*/
return;
end;
如果定义了多个savepoint,当指定回滚到某个savepoint时,那么回滚操作将回滚这个savepoint后面的所有操作(即使后面可能标记了N个savepoint)。
例如,在一段处理中定义了五个savepoint,从第三个savepoint回滚,后面的第四、第五个标记的操作都将被回滚,如果不使用ROLLBACK TO savepoint_name而使用ROLLBACK,将会滚整个事务处理。
转载:http://www.cnblogs.com/ydfqing/archive/2007/09/29/910653.html
- oracle存储过程中的事务
- 存储过程中的事务
- Oracle存储过程的事务
- oracle存储过程自治事务
- SQLserver存储过程中的事务
- sql 存储过程中的事务
- 存储过程中的事务应用
- 存储过程中的事务实现
- oracle中的存储过程
- oracle中的存储过程
- Oracle中的存储过程
- Oracle中的存储过程
- oracle 存储过程自治事务(Autonomy transaction)
- oracle事务及存储过程实例
- oracle 存储过程 是一个事务
- 存储过程中的事务实现(转贴)
- 事务在存储过程中的应用
- SQL中的存储过程和事务
- javax.servlet.ServletException: DispatchMapping[XX] does not define a handler
- MinGW手动安装
- linux常用命令一份
- 十大注释技巧教你如何书写容易阅读的代码
- Windows 和 Linux下使用socket下载网页页面内容(可设置接收/发送超时)的代码
- oracle存储过程中的事务
- proxool数据连接池总结
- hibernate级联删除的注意事项
- windows下xampp安装配置memcached-1.2.6-win32-bin, 及php_memcache.dll(20090703-5.3)下载
- zen-cart修改 zencart 模板修改
- Java5.0的元注解(meta-annotations)
- 获取滚动条相对网页底端的距离
- 文件创建及读写操作 实现
- Visual Studio快捷键 [VS2008/VS2005]快捷键