首先创建一个存储过程:
CREATE proc HR_PER_TARGET_SCORECHECK
@PLANID varchar(20),
@Obj_A0100 varchar(20),
@Body_A0100 varchar(20),
@Allow varchar(20) output
as
sql语句;
GO
之后再用java调用存储过程
CallableStatement cstmt = null; // 存储过程
try
{
String sqlCall = "{call HR_PER_TARGET_SCORECHECK (?,?,?,?)}";
cstmt = this.frameconn.prepareCall(sqlCall);
cstmt.setInt(1, Integer.parseInt(planid));// 第一个参数为计划号
cstmt.setString(2, object_id);// 第二个参数为考核对象人员编码
cstmt.setInt(3, Integer.parseInt(this.userView.getA0100()));// 第三个参数为评分人人员编码
cstmt.registerOutParameter(4, Types.VARCHAR);//设置第四个参数为输出参数
//执行存储过程
cstmt.execute();
String Allow = cstmt.getString(4);
if(Allow.equals("0")){
info = Allow;
}
} catch (Exception e)
{
e.printStackTrace();
} finally
{
try
{
if (cstmt != null)
cstmt.close();
} catch (Exception e)
{
e.printStackTrace();
}
}