1.在PL/SQL中可以直接引用存储过程(在SQL*PLUS中调用存储过程时需要使用call或者execute命令);
2.当调用存储过程时,如果无参数,那么直接引用存储过程名;如果有输入参数,则需提供输入参数数值;如果有输出参数,需要使用变量接收输出结果;
3.参数传递时有位置传递,名称传递和组合传递三种方法,三种参数传递方式如下:
DECLARE
v_para1 varchar2(10);
v_para2 varchar2(10);
v_para3 varchar2(30);
v_para4 varchar2(30);
BEGIN
v_para1 := '123';
v_para2 := '456';
v_para4 := '789';
USP_Learing(v_para1,v_para2,v_para3,v_para4);--位置传递
USP_Learing(p_para1=>v_para1,p_para2=>v_para2,p_para3=>v_para3,p_para4=>v_para4); --值传递
USP_Learing(v_para1,v_para2,p_para3=>v_para3,p_para4=>v_para4);--组合传递
dbms_output.put_line(v_para3); dbms_output.put_line(v_para4);
END;
declare
v_return sys_refcursor;
d1 date :=to_date('2019-05-08','yyyy-mm-dd');
d2 date :=to_date('2019-10-08','yyyy-mm-dd');
begin
GET_CW_HISMX_MZ('3227508102288887',d1,d2,v_return);
end;