别问我为什么不用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>

本文展示了在Oracle中如何创建和调用带有入参和出参的存储过程。通过示例代码解释了如何处理异常并返回错误信息。调用存储过程时,使用了PL/SQL的EXEC命令,并展示了出参的获取方式。

6013

被折叠的 条评论
为什么被折叠?



