写了个存储过程,参数很多,但都有默认值,可以不传值,必须传值的也就两三个,所以我想知道可不可以在delphi调用的时候可以不用每个参数都赋值?比如这个存储过程:
procedure getAnalysis(p_rc OUT myData,nrunstate in number:=2,a in number:=-1,
                 b in varchar2 := '-1',
                 c in varchar2:='-1',d in varchar2:='-1',
                 e in varchar2:='-1',f in number:=0,g in number:=100,
                 g in varchar2:='-1',h in number:=-1,i in number:=-1,
                 j in number:=-1,k in varchar2:='-1',l in number:=-1,
                 m in number:=-1,n in number:=-1,nMinute in number:=10,nOddsNum in number:=0.01) ;
我在调用的时候这样写:
Adoquery1.sql.add('{call pack_OddsAnalysis.getAnalysis(?,?)}');
Adoquery1.Parameters.createparameter('nMinute',ftinteger,pdInput,20, iMinute) ;
Adoquery1.Parameters.createparameter('nOddsNum',ftFloat,pdInput,20, iOddsNum) ;
其它参数不赋值,返回结果是空。但实际上按这个条件在PL/SQL developer里测试存储过程是有值的。
难道在delphi中调用一定要把所有参数都赋值才行吗?