存储过程的问题。 如果一个存储过程是执行将一个表的数据转移到历史表中,然后删除这个表的数据。。现在如果插入历史表数据的过程中,成功了一半。中间有一条数据出错了。存储过程是否会回滚成功插入历史表的那一半数据? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 是否使用了显示事务处理,即当执行失败时,执行rollback。 存储过程不需要用专门的语句来声明事务如,下面的存储过程就是一个事务进入存储过程即开始事务提交(commit)或回滚(rollback)则事务完成亦即若干语句所有都成功则提交,要么若干语句中任一语句失败则将回滚CREATE OR REPLACE PROCEDURE p_MoveToHistory ISBEGIN --处理转入历史的若干SQL语句 COMMIT;--成功则提交EXCEPTION WHEN other THEN ROLLBACK;--异常失败则回滚END; 上面的other应为others,亦即任何其它异常如果没有异常处理部分的rollback;ORACLE将直接报错并回滚!当然自已写上更清晰。 [Oracle] 一个求汇总时间的问题. . . 求教! 请教关于EXISTS关键字 如何完整备份ORACLE数据库并恢复 在线等,请教各位高手ORACLE查询问题~~~~! 在Toad中,提示错误? 求一段sql语句 要考虑效率和资源。[简单问题,不要简单回答]^_^ 高分求一条统计语句 我的oem怎么连接不上呀?请教呀! 新手求教@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 关于oracle数据库0001文件的处理方式 80万个点对之间最短路径问题~!?求助 启动JDeveloper出现问题
如,下面的存储过程就是一个事务
进入存储过程即开始事务
提交(commit)或回滚(rollback)则事务完成
亦即若干语句所有都成功则提交,要么若干语句中任一语句失败则将回滚
CREATE OR REPLACE PROCEDURE p_MoveToHistory IS
BEGIN
--处理转入历史的若干SQL语句
COMMIT;--成功则提交
EXCEPTION
WHEN other THEN
ROLLBACK;--异常失败则回滚
END;
如果没有异常处理部分的rollback;ORACLE将直接报错并回滚!
当然自已写上更清晰。