linre 发表于 2014-11-20 09:50:55

(SQL报错)DB2 SQL error: SQLCODE: -418, SQLSTATE: 42610, SQLERRMC: null

如题:
select *
from (select rownumber() over() as rownumber_, INNER_QUERY_PREFIX.* FROM (SELECT
b.medical_treatment_link_id, a.list_number, a.medical_name, a.sort, a.spec,
a.unit, a.betake_genre, b.restrictions_drugs, 1 as medical_management_id,
   COALESCE(b.liable_expense, a.liable_expense) liable_expense, COALESCE(
   b.remark, a.remark) remark, COALESCE(b.update_time, a.update_time)
    update_time, c.employee_name FROM t_medical_treatment_list a LEFT OUTER JOIN
   t_medical_treatment_link b ON (a.list_number = b.list_number and
      b.medical_management_id = 1) LEFT OUTER JOIN t_employee c ON c.employee_id
       = b.update_employee_id) INNER_QUERY_PREFIX) as temp_
where rownumber_ between 0 + 1 and70
在DB2中执行,没有问题,

以下是我用JDBC执行的SQL
DEBUG: java.sql.PreparedStatement:27 - {pstm-100004} Executing Statement:
select * from ( select rownumber() over() as rownumber_, INNER_QUERY_PREFIX.* FROM (         SELECT b.medical_treatment_link_id, a.list_number, a.medical_name, a.sort,         a.spec, a.unit, a.betake_genre, b.restrictions_drugs,         ? as medical_management_id,         COALESCE (b.liable_expense, a.liable_expense) liable_expense,         COALESCE (b.remark, a.remark) remark,         COALESCE (b.update_time, a.update_time) update_time, c.employee_name         FROM t_medical_treatment_list a LEFT OUTER JOIN t_medical_treatment_link b         ON (a.list_number = b.list_numberand b.medical_management_id=?)         LEFT OUTER JOIN t_employee c ON c.employee_id = b.update_employee_id   ) INNER_QUERY_PREFIX ) as temp_ where rownumber_ between ?+1 and ?
DEBUG: java.sql.PreparedStatement:27 - {pstm-100004} Parameters:
DEBUG: java.sql.PreparedStatement:27 - {pstm-100004} Types:

执行后报错:
{http--80-3$15223454} --- The error occurred while applying a parameter map.
{http--80-3$15223454} --- Check the MedicalTreatmentLinkDAOIbatisImpl.getMedicalLinkAll-InlineParameterMap.
{http--80-3$15223454} --- Check the statement (query failed).
{http--80-3$15223454} --- Cause: com.ibm.db2.jcc.c.SqlException: DB2 SQL error: SQLCODE: -418, SQLSTATE: 42610, SQLERRMC: null
个人认为是这个“?”

b.restrictions_drugs,         ? as medical_management_id

select list中不能有“?”吧

页: [1]
查看完整版本: (SQL报错)DB2 SQL error: SQLCODE: -418, SQLSTATE: 42610, SQLERRMC: null