我在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