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

Oracle函数参数问题
函数参数有三种
IN:
OUT:
IN OUT:

1:我不太理解三种参数的作用。。和使用场合
2: 函数参数和存储过程的参数 是不是一个意思

------解决方案--------------------
1.這三個是存儲過程中參數的方面
in傳入類型,存儲過程的默認參數類型,在存儲過程中,此參數只讀,不可改變
out傳出類型,此參數用於在存儲過程中寫,傳入存儲過程聲明的參數會根據此值的改變而改變
int out既是輸入又可以作為輸出,此參數在存儲過程中可讀可寫
2.都是參數,只是作用不同,具體問題具體分析,不要一概而論
------解决方案--------------------
楼上正解
说得通俗一点:
IN:作为传入参数,只能在存储过程中使用
OUT: 作为输出参数,只能在存储过程中赋值
IN OUT: 即可使用,也可赋值.

例:
proc(a in number, b in number, c out number) is
begin
c := a + b;
end

a,b作为传入参数,c是传出参数,在调用的地方,我们可以直接获得c的值.

------解决方案--------------------
+1,都是比较基础的知识,楼主可以看看基础的书籍,受益良多。
探讨
1.這三個是存儲過程中參數的方面
in傳入類型,存儲過程的默認參數類型,在存儲過程中,此參數只讀,不可改變
out傳出類型,此參數用於在存儲過程中寫,傳入存儲過程聲明的參數會根據此值的改變而改變
int out既是輸入又可以作為輸出,此參數在存儲過程中可讀可寫
2.都是參數,只是作用不同,具體問題具體分析,不要一概而論

------解决方案--------------------
函数不用定义in out