oracle 存储过程 out参数的值怎么使用

2025-05-14 12:51:00
推荐回答(2个)
回答1:

输出模式的参数,用于输出值,会忽略传入的值。在子程序内部可以对其进行修改。 
输出:子程序执行完毕后,out模式参数最终的值会赋值给调用时对应的<实参变量>。 
注意:out模式参数的调用,必须通过变量。

--测试out模式的存储过程
CREATE OR REPLACE PROCEDURE pro(p3 OUT INT)ASBEGIN
  println(p3);--p3会忽略传入的值
  p3:=33;--设定存储过程调用后的值  
  END;

DECLARE
var3 INT :=30;--声明一个变量用于设定存储过程调用前的值BEGIN-- 
pro(30); --error,20对应过程中out模式的参数,out会输出结果给调用的实参,但是20不能作为赋值目标
println('存储过程调用前的值:'||var3);
pro(var3);--调用pro存储过程重新赋值;调用过程,如果过程形参是out模式,必须采用变量实参
println('存储过程调用后的值:'||var3);  
END;

回答2:

MySQL教程4 MySQL8运算符、函数、存储过程及新增数据类型 17.之创建带有IN和OUT参数的存储过程 学习猿地