上篇《懵懂oracle之存储过程》已经给大家介绍了很多关于开发存储过程相关的基础知识,笔者尽最大的努力总结了所有接触到的关于存储过程的知识,分享给大家和大家一起学习进步。本篇文章既是完成上篇文章中未来得及总结的关于存储过程的调用、测试等知识的汇总分享,也是对上篇文章的存储过程的一个调试改错过程(由于知识的局限性和书写时的疏忽等,之前的存储过程有误之处难免,正在不断更改中,如果能得到大家的指正将使这个工作进行地更快更好,助人为快乐之本!)。

      下面步入正题,介绍本篇知识汇总和分享:

      一、存储过程的调用(代码中sp_hll_test_20170415这个存储过程可参见《懵懂oracle之存储过程》,请注意查看使用最新的代码)。

平面设计培训,网页设计培训,美工培训,游戏开发,动画培训

 1 declare -- 如果不需要定义参数,那么就可去掉此declare部分,只使用begin……end块 2   a      number; 3   b      date; 4   c      varchar2(20); 5   d      number; 6   status user_tables.status%type; 7   -- e    varchar2(20); 长度过小 8 /* 9     务必注意出参或出入参为变量时,变量有长度限制时不得小于在存储过程中会达到的最大值,10     否则会导致过长的字符串无法存入这个长度不够的变量中,而报错:11             ORA-06502: PL/SQL: 数字或值错误 :  字符串缓冲区太小12   */13   e      varchar2(200);14 begin15  /*16    存储过程调用时,参数可以为常量、变量或绑定变量,参数调用方式可以为定位调用、命名调用或混合调用,17    同时参数