--默认为in
create or replace procedure TestPara(para varchar)
as
begin
dbms_output.put_line(para);
end;
/
--内部赋值,会报错
create or replace procedure TestPara2(para varchar)
as
begin
para := '1234';
dbms_output.put_line(para);
end;
/
create or replace procedure TestInPara(para in varchar)
as
begin
dbms_output.put_line(para);
end;
/
--输入参数不能赋值
create or replace procedure TestInPara2(para in varchar)
as
begin
para := '1234';
dbms_output.put_line(para);
end;
/
create or replace procedure TestOutPara(para out varchar)
as
begin
dbms_output.put_line(para);
end;
/
--输出内部可以赋值
create or replace procedure TestOutPara2(para out varchar)
as
begin
para := '1234';
dbms_output.put_line(para);
end;
/
create or replace procedure TestInOutPara(para in out varchar)
as
begin
dbms_output.put_line(para);
end;
/
--输出内部可以赋值
create or replace procedure TestInOutPara2(para in out varchar)
as
begin
para := '1234';
dbms_output.put_line(para);
end;
/
调用存储过程:
--注意:声明变量必须指定长度
declare
inpara varchar(100);
begin
inpara := ' ';
TestInOutPara2(inpara);
dbms_output.put_line(inpara);
end;
/