(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]