如何使用spring jdbcTemplate中的参数调用oracle函数

时间:2017-05-05 04:59:18

标签: java spring oracle-sqldeveloper spring-jdbc jdbctemplate

    public boolean deleteJobById(Long cplt_id, Long csco_id, Long cjob_id) {
//      String sql="SELECT PK_CP_JOBS.PF_DELETE_JOB(?,?,?) from dual";
    String sql = "call PK_CP_JOBS.PF_DELETE_JOB(?,?,?)";
    int res = this.jdbcTemplate.update(sql,cplt_id,csco_id,cjob_id);
    if( res > 0) {
        return true;
    }
    return false;
}

我已编写此代码以从spring jdbctemplate运行oracle函数。运行后,我得到以下错误:

java.sql.SQLException: ORA-06576: not a valid function or procedure name

我还编写了一个测试plsql块来测试这个函数。它运行正常。 请有人建议我运行此功能的方式。

plsql测试代码:

clear screen;
set serveroutput on;
declare
  n number :=0;
begin
   n := pk_cp_jobs.pf_delete_job(1,1022,17229);
   dbms_output.put_line(n);
   dbms_output.put_line(sqlerrm);
  exception when others
   then
    dbms_output.put_line(sqlerrm);
end;
/

0 个答案:

没有答案