别问我为什么不用test调用,太low(其实是某些场景根本不给你使用plsql)
入参+出参
存储过程示例
CREATE OR REPLACE PROCEDURE proc_lee_in_out_parameter(in_parameter IN VARCHAR2,out_parameter OUT VARCHAR2) AS
BEGIN
out_parameter:='0';
EXCEPTION
--异常
WHEN OTHERS THEN
ROLLBACK;
out_parameter := '-1';
--处理出错信息,记录错误日志
DBMS_OUTPUT.PUT_LINE('SQLCODE='||SQLCODE||'%SQLERRM='||SQLERRM||'%');
RETURN;
end proc_lee_in_out_parameter;
调用示例
SQL> VAR out_parameter VARCHAR2(10);
SQL> EXEC proc_lee_in_out_parameter ('20210608',out_parameter=>:out_parameter);
PL/SQL procedure successfully completed
out_parameter
---------
0
SQL>
出参
存储过程示例
CREATE OR REPLACE PROCEDURE proc_lee_in_parameter(out_parameter OUT VARCHAR2) AS
begin
out_parameter:='0';
EXCEPTION
--异常
WHEN OTHERS THEN
ROLLBACK;
out_parameter := '-1';
--处理出错信息,记录错误日志
DBMS_OUTPUT.PUT_LINE('SQLCODE='||SQLCODE||'%SQLERRM='||SQLERRM||'%');
RETURN;
end proc_lee_in_parameter;
调用示例
SQL> VAR out_parameter VARCHAR2(10);
SQL> EXEC proc_lee_in_parameter (out_parameter=>:out_parameter);
PL/SQL procedure successfully completed
out_parameter
---------
0
SQL>