CREATE OR REPLACE FUNCTION UF_GETFUNCTIONNAME1
(
i_FunctionID IN CHAR,--功能代码
o_Functionname OUT VARCHAR2, --功能路径
o_code OUT NUMBER,
o_result OUT VARCHAR2
)
RETURN NUMBER IS
JAVA调用如下:
/*
* JAVA调用ORACLE书写的function函数样例
*
*/
public List tesFunction() throws NamingException{
//定义被调用的函数名称
String functionName="UF_GetSunday1";
//定义输入参数的值
Object[] inParams={"20090505","yyyymmdd"};
//定义输出参数的类型
int[] outTypes={OracleTypes.NUMBER,OracleTypes.VARCHAR};
//定义返回值的类型
int ReturnType=OracleTypes.CHAR;
SpMessage sm= ExecuteSP.executeFun(functionName, inParams, outTypes, ReturnType);
/*
* *****或者使用以下调用也可**************
*
//用一个SpCondition 类包装输入,输出参数
SpCondition spcd=new SpCondition();
//将被调用的函数名称注入到SpCondition对象中
spcd.setSpName(functionName);
//将输入参数的值注入到SpCondition对象中
spcd.setInObject(inParams);
//将返回值类型注入到SpCondition对象中
spcd.setFunctionReturnTypeOne(ReturnType);
//将输出参数的类型注入到SpCondition对象中
spcd.setOutType(outTypes);
//执行函数
SpMessage sm= ExecuteSP.executeFun(spcd);
*/
return sm.getOtherResults();
}
---- 查询业务管理-会员出入金申请
PROCEDURE up_QryPartDWApply
(
i_OperatorID IN CHAR, ---- 操作员代码
i_ParticipantID IN CHAR, ----
i_BankID IN CHAR, ----
i_CertNo IN CHAR, ----
i_BankAccPropID IN CHAR, ----
i_Status IN CHAR, ----
i_DWDirection IN CHAR, ----
i_BeginAmt IN NUMBER, ----
i_EndAmt IN NUMBER, ----
i_BeginDate IN CHAR, ----
i_EndDate IN CHAR, ----
o_ReturnNo OUT NUMBER, ---- 返回码
o_ReturnMsg OUT CHAR, ---- 返回信息
o_cursor OUT Types.cursorType ---- 返回游标类型
) AS
JAVA调用如下:(以上SQL为有顺序的--先输入参数然后为输出参数)
/*
* JAVA调用ORACLE书写的Procedure样例1
*
*/
public List testProcedure1() throws NamingException{
//定义被调用的函数名称
String functionName="pkg_BusinessManage.up_QryDeliberyApply";
//定义输入参数的值
Object[] inParams={"auto","0049","cu","199902","0","20080729","20080730","1"};
//定义输出参数的类型
int[] outTypes={OracleTypes.NUMBER,OracleTypes.VARCHAR,OracleTypes.CURSOR};
SpMessage sm= ExecuteSP.executeSP(functionName, inParams, outTypes);
/*
* 通过以下方法可获取返回游标的值
* ResultSet rs=null;
rs=(ResultSet)sm.getOtherResults().get(2);*/
return sm.getOtherResults();
}
---- 查询业务管理-会员出入金申请
PROCEDURE up_QryPartDWApply
(
o_ReturnNo OUT NUMBER, ---- 返回码
o_ReturnMsg OUT CHAR, ---- 返回信息
i_OperatorID IN CHAR, ---- 操作员代码
i_ParticipantID IN CHAR, ----
i_BankID IN CHAR, ----
i_CertNo IN CHAR, ----
i_BankAccPropID IN CHAR, ----
i_Status IN CHAR, ----
i_DWDirection IN CHAR, ----
i_BeginAmt IN NUMBER, ----
i_EndAmt IN NUMBER, ----
i_BeginDate IN CHAR, ----
i_EndDate IN CHAR, ----
o_cursor OUT Types.cursorType ---- 返回游标类型
) AS
JAVA调用如下:(以上SQL为无顺序的--也就是说输入参数与输出参数无顺序出现)
/*
* JAVA调用ORACLE书写的Procedure样例2
*
*/
public List testProcedure2() throws NamingException{
//定义输入参数的值
Object[] inParams={"auto","0049","cu","199902","0","20080729","20080730","1"};
//定义输出参数的类型
int[] outTypes={OracleTypes.NUMBER,OracleTypes.VARCHAR,OracleTypes.CURSOR};
//定义输出参数的索引位置
int[] outSort={1,2,11};
//用一个SpCondition 类包装输入,输出参数
SpCondition spcd=new SpCondition();
//将被调用的函数名称注入到SpCondition对象中
spcd.setSpName("pkg_BusinessManage.up_QryDeliberyApply");
//将输入参数的值注入到SpCondition对象中
spcd.setInObject(inParams);
//将第一个输入参数的索引注入到SpCondition对象中
spcd.setInIndexStart(3);
//将输出参数的索引注入到SpCondition对象中
spcd.setOutIndex(outSort);
//将输出参数的类型注入到SpCondition对象中
spcd.setOutType(outTypes);
//执行函数
SpMessage sm= ExecuteSP.executePro(spcd);
/*
* 通过以下方法可获取返回游标的值
* ResultSet rs=null;
rs=(ResultSet)sm.getOtherResults().get(2);*/
return sm.getOtherResults();
}