日期:2014-05-17  浏览次数:21108 次

oracle存储过程,IN OUT 类型的参数怎么传参数啊
调用 oracle存储过程,
call proc_selecta(a=>v_a,
  b=> v_b,
  c=> v_c);

a参数为:in 类型
b参数为:out 类型
c参数为:in out 类型

in类型的直接传一个值给参数,那么out和in out呢 ?
 我用于调试存储过程.

------解决方案--------------------
1、IN模式:只读。在模块里面,实参的数值只能被引用,而这个参数不能被改变。
2、OUT模式:只写。模块能够给这个参数进行赋值,但是这个参数的数值不能被引用。
3、IN OUT模式:可读写。这个模块的数值在模块内可被引用或改变。

------解决方案--------------------
out那边空着
------解决方案--------------------
out和in out的参数,你定义相同类型的变量传递过去就行了,
它们就是为了接受值
------解决方案--------------------
过程参数有IN/OUT/IN OUT三种类型,其中IN类型可以被过程体引用,但不能改写值;OUT类型不可被过程体引用,但可改写值;IN OUT 既可以被过程体引用,又可以改写值.
在调用in out类型时,调用过程插入参数时,不能直接用常量。必须用变量。这样才能接收out返回来的值。同理:用out的也不能直接用常量。