我的过程
如果不些输入输出参数,那么默认为是输入参数,传出的参数调用的时候不用给值,传入传出参数是既可做传入参数,有可以传出参数的,他在调用时可以赋值也可以不赋值
在调用时通过p(3,4,null,null),是不行的,还是用参数的合适
他运行可以用execute 过程名(参数值)的形式调用!
create or replace procedure p(v_a in number,v_b number,v_ret out number,v_temp in out number)
is
begin
if(v_a >v_b)then
v_ret := v_a;
else
v_ret := v_b;
end if;
v_temp := v_temp +1;
end;
调用写好的过程
declare
v_a number := 3;
v_b number := 4;
v_ret number ;
v_temp number ;
begin
p(v_a,v_b,v_ret,v_temp);
dbms_output.put_line(v_ret);
dbms_output.put_line(v_temp);
end;
参数的顺序很重要,如果不想按照这个顺序可以用名称表示法:
定义的过程是:procedure update_student(in_age in number,in_name in varchar2)
begin
update_student(in_name =>'刘琴',in_age=>19);
end;