ITPub博客

首页 > Linux操作系统 > Linux操作系统 > oracle procedure 存储过程输入及输出in out示例

oracle procedure 存储过程输入及输出in out示例

原创 Linux操作系统 作者:wisdomone1 时间:2012-02-14 18:00:57 0 删除 编辑
 真是搞笑至极.因久未编写存储过程.竟然今天出笑话.TCBS业务系统中涉及的存储过程诸如errnbr及errmsg输出参数,仅在存储过程出错异常exception才会有值.我竟然跑到编写存储过程的同事处询问此事.以为人家的问题.后回来一测试.
 一定要加强学习.从事IT行业.真是一日不练.技艺生啊.


 附上测试代码,供备记
--a为输入参数
--b为输出参数
--测试目的:如果a有值,则b将无值;否则如果a无值,则b有值

create or replace procedure test_out(a in integer,b out integer)
as
none_a exception;--定义判断输入参数a是否有值的异常
begin
if (a=1) then
 null;--当输入参数有值,什么也不作
end if;

if (a is null) then --当输入参数无值
raise none_a; --触发存储过程定义的异常none_a
end if;
exception  --由exception定义具体的异常处理代码
when none_a then --exception由诸多when then节构成
b:=888; --捕获了异常none_a,输出参数b为888
when others then
 b:=111;
end;

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/9240380/viewspace-716285/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
提供针对oracle初学者及进阶的数据库培训,欢迎大家咨询: 微信: wisdomone 微信公众号: lovedb 工作经历: 中国普天 北京科蓝 北京云和恩墨 北京神州新桥

注册时间:2008-04-04

  • 博文量
    2189
  • 访问量
    12690135