oracle exception 的 传播
来源:互联网 发布:知乎上市了吗 编辑:程序博客网 时间:2024/06/06 02:36
没研究出来oracle exception的传播
procedure test1(p_RETCODE in out varchar2, p_retInfo in out varchar2); procedure test2(p_RETCODE in out varchar2, p_retInfo in out varchar2); procedure test3(p_RETCODE in out varchar2, p_retInfo in out varchar2);
procedure test1(p_RETCODE in out varchar2, p_retInfo in out varchar2) is begin insert into tree_tb (id, NODE_NAME) values ('1', '1'); test2(p_RETCODE, p_retInfo); if p_RETCODE <> 1 then raise test_exception; end if; if 1 = 1 then p_RETCODE := '-1'; p_retInfo := 'test1插入异常。'; raise test_exception; end if; p_RETCODE := '1'; p_retInfo := 'test1插入成功。'; exception WHEN test_exception then DBMS_OUTPUT.PUT_LINE('Error code ' || p_RETCODE || ': ' || p_retInfo); rollback; when others then p_RETCODE := SQLCODE; p_retInfo := SUBSTR(SQLERRM, 1, 1000); DBMS_OUTPUT.PUT_LINE('Error code ' || p_RETCODE || ': ' || p_retInfo); rollback; end; -- procedure test2(p_RETCODE in out varchar2, p_retInfo in out varchar2) is begin insert into tree_tb (id, NODE_NAME) values ('2', '2'); insert into tree_tb (id, NODE_NAME) values ('3', '3'); if 1 = 1 then p_RETCODE := '-2'; p_retInfo := '插入2失败'; raise test_exception; end if; insert into tree_tb (id, NODE_NAME) values ('4', '4'); p_RETCODE := '1'; p_retInfo := 'test2插入成功。'; exception WHEN test_exception then dbms_output.put_line('errorCode: ' || p_RETCODE || 'errorInfo ' || p_retInfo); rollback; when others then p_RETCODE := SQLCODE; p_retInfo := SUBSTR(SQLERRM, 1, 1000); DBMS_OUTPUT.PUT_LINE('Error code ' || p_RETCODE || ': ' || p_retInfo); rollback; end; /** * @作者: 马宏敏 * @功能描述: 测试存储过程同时调多个存储过程时的事务原子性与一致性 * @param retcode out 返回编码 * @param retinfo out 返回编码对应的信息 */ procedure test3(p_RETCODE in out varchar2, p_retInfo in out varchar2) is begin test1(p_RETCODE, p_retInfo); if p_RETCODE <> 1 then raise test_exception; end if; insert into tree_tb (id, NODE_NAME) values ('5', '5'); exception WHEN test_exception then dbms_output.put_line('errorCode: ' || p_RETCODE || 'errorInfo ' || p_retInfo); rollback; when others then p_RETCODE := SQLCODE; p_retInfo := SUBSTR(SQLERRM, 1, 1000); DBMS_OUTPUT.PUT_LINE('Error code ' || p_RETCODE || ': ' || p_retInfo); rollback; end;
阅读全文
0 0
- oracle exception 的 传播
- Oracle exception的学习
- Oracle PLSQL Exception异常分类、异常抛出、异常处理、异常传播
- oracle中exception的处理
- Oracle预定义的Exception
- ORACLE Exception
- Oracle Exception
- Oracle Exception
- Oracle Exception
- Oracle Exception
- Oracle exception
- Oracle Exception
- oracle exception
- oracle exception
- Oracle exception
- 今天oracle遇到的java.lang.Exception: Exception in sending Request :: null错误解决方法
- ORACLE中的exception
- oracle 中的exception
- 声明一个含有某张表不具备字段的游标
- Reserved-1
- 存储过程调存储过程的事务
- 【爱贝云计费】支付接入流程
- 中间件-OpenJPA
- oracle exception 的 传播
- nio
- jquery 用ID取某个元素下的某个ID元素
- 第二章 Linux的安装 课后问答题
- 简单工厂模式
- SVN(一)客户端及eclipse-svn插件用法
- 工厂模式
- iteye博客缩进格式 tab 替换成 空格
- zabbix-agent安装