天天看点

oracle存储过程,IN OUT 类型的参数

IN:作为传入参数,只能在存储过程中使用

OUT: 作为输出参数,只能在存储过程中赋值

IN OUT: 即可使用,也可赋值.

例:

proc(a in number, b in number, c out number) is

begin

c := a + b;

end

a,b作为传入参数,c是传出参数,在调用的地方,我们可以直接获得c的值.

1、IN模式:只读。在模块里面,实参的数值只能被引用,而这个参数不能被改变。

2、OUT模式:只写。模块能够给这个参数进行赋值,但是这个参数的数值不能被引用。

3、IN OUT模式:可读写。这个模块的数值在模块内可被引用或改变。

例子:

create or replace procedure aaa(bb out varchar2,b2 out varchar2,aa in varchar2) is

begin

  bb := '2';

  b2:= 'bbbbb' || aa;

end aaa;

create or replace procedure aaa2(e1 out varchar2) is

d1 varchar2(50);

d2 varchar2(50);

begin

  aaa(d1,d2,' baidu ');

  e1 := 'docker ' || d1 || ' ' || d2;

end aaa2;

继续阅读