`我尝试在包中调用 oracle 函数
功能 :
FUNCTION test_func (I_PARAMS IN TPARAMS,
O_RESPONSE_CODE OUT VARCHAR2,
O_RESPONSE_EXPLANATION OUT VARCHAR2)
RETURN BOOLEAN IS
BEGIN
O_RESPONSE_CODE := 0;
O_RESPONSE_EXPLANATION := 'Başarılı';
return true;
END test_func;
Ora 测试脚本:
declare
I_PARAMS TPARAMS;
O_RESPONSE_CODE VARCHAR2(4);
O_RESPONSE_EXPLANATION VARCHAR2(500);
reslt boolean;
begin
O_RESPONSE_EXPLANATION := ' a';
O_RESPONSE_CODE := '2';
reslt := D_PKG.test_func(I_PARAMS , O_RESPONSE_CODE , O_RESPONSE_EXPLANATION );
dbms_output.put_line(o_response_explanation || ' ' || o_response_code);
end;
它可以工作,但我的流利代码不起作用:S 有人可以帮助我吗?
就是这样……
IQuery query = session.CreateSQLQuery("reslt := D_PKG.test_func(I _PARAMS , O_RESPONSE_CODE , O_RESPONSE_EXPLANATION )")
.SetParameter("I_PARAMS", input, NHibernateUtil.Object)
.SetString("O_RESPONSE_CODE", null)
.SetString("O_RESPONSE_EXPLANATION", null)
.SetBoolean("reslt",false);
output.RESULT = query.ExecuteUpdate();
这是我的参数 I_PARAMS 不作为命名参数存在