【发布时间】:2010-12-12 13:20:59
【问题描述】:
我在 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 序列。
-
我希望您没有使用此过程来生成主键。请看asktom.oracle.com/pls/asktom/…
标签: asp.net oracle stored-procedures plsql