oracle存储过程的参数类型有:1、输入类型,表示调用者向过程传入值;2、输出类型,表示过程向调用者传出值(可以返回多个值);3、输入输出类型,既表示调用者向过程传入值,又表示过程向调用者传出值。
本教程操作环境:Windows7系统、Oracle 11g版、Dell G3电脑。
oracle 存储过程的参数类型
1、in:输入类型,即由应用程序将数据传入oracle存储过程中,表示调用者向过程传入值;这种参数在存储过程中是只读参数,在存储过程中无法对该类型的参数进行修改;
2、out:输出类型,表示过程向调用者传出值。
3、in out:输入输出类型,兼具以上两种特性,但可读可写;既表示调用者向过程传入值,又表示过程向调用者传出值。
验证输入参数:
由于默认参数是输入类型的,在上图中,对BAcount参数赋值,报错。
解决办法:
CREATE OR REPLACE PACKAGE body BAWQ_PROC_JGZX IS PROCEDURE PROC_CSJGZX ( pproc VARCHAR2, BAcount int :=3 ) IS i int :=BAcount; --定义变量,通过变量替代参数 BEGIN i:=BAcount; dbms_output.put_line(i); delete CSJGZX; while i>0 LOOP i := i-1 ; insert into CSJGZX (CSJGZX_PROC,id,bh,mc,data) values(pproc,SYS_GUID(),SYS_GUID(),'济南',cast(DBMS_RANDOM.VALUE(1,200) as int)); commit; end loop; END PROC_CSJGZX; END BAWQ_PROC_JGZX;
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。