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;