我在oracle中創建了存儲過程。
我打電話通過我的asp.net代碼。
的程序是:如何獲取存儲過程的返回值?
PROCEDURE prc_GetNewQuestionNo(iNextQuestionNo IN OUT NUMBER)
IS
iQuestionNo NUMBER ;
BEGIN
Select MAX(QUESTIONNO)+ 1 INTO iQuestionNo
from tblIFFCOQUESTIONMASTER;
iNextQuestionNo:=iQuestionNo;
END prc_GetNewQuestionNo;
,我稱它在asp.net:
<Connection>
com.CommandType = CommandType.StoredProcedure;
com.CommandText = StoredProcedures.GET_NEW_QUESTION_NO;
com.Parameters.Add(new OracleParameter("iNextQuestionNo", OracleType.Number)).Direction = ParameterDirection.InputOutput;
adp = new OracleDataAdapter(com);
ds = new DataSet();
adp.Fill(ds);
如何獲得它的返回值?
這不是回答你的問題,但是這是PL/SQL的一個可怕的一點。如果兩個會話在同一時間呼叫,他們會得到相同的答案和衝突。你應該使用Oracle序列。 – 2009-11-03 10:19:22
我希望你沒有使用這個過程來生成主鍵。請參閱http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:3379873654938 – 2009-11-03 10:22:17