How do I pass values into the select statement correctly? Using this example. The values come from a document!
sql.append(“Update ifsapp.person_info_comm_method_tab b”);
sql.append(" Set b.value = ' " + entry.getDocument().getItemValueString("IFSEmail" )+ " ' ");
sql.append(" WHERE method_id = 'E_MAIL' ");
sql.append(" AND b.person_id =");
sql.append(" (select b.person_id from ifsapp.pers_comms_work_tab a, ifsapp.person_info_comm_method_tab b");
sql.append(" where method_id = 'E_MAIL'");
sql.append(" and a.person_id = b.person_id");
sql.append(" and a.comm_line_id = b.comm_id");
sql.append(" and a.company_id = '01'");
sql.append(" and b.method_default = 'TRUE'");
sql.append(" and b.valid_to > sysdate");
sql.append(" AND b.person_id ='" + entry.getDocument().getItemValueString("IFSPersonID") + " ' ");
sql.append(" AND ROWNUM =1)");
=============================
FYI…If I supply the details the statement works:
sql.append(“Update ifsapp.person_info_comm_method_tab b”);
sql.append(" Set b.value = 'N.J@myaddress.co.uk' ");
sql.append(" WHERE method_id = 'E_MAIL' ");
sql.append(" AND b.person_id =");
sql.append(" (select b.person_id from ifsapp.pers_comms_work_tab a, ifsapp.person_info_comm_method_tab b");
sql.append(" where method_id = 'E_MAIL'");
sql.append(" and a.person_id = b.person_id");
sql.append(" and a.comm_line_id = b.comm_id");
sql.append(" and a.company_id = '01'");
sql.append(" and b.method_default = 'TRUE'");
sql.append(" and b.valid_to > sysdate");
sql.append(" AND b.person_id ='NJOUNSTONE'" );
sql.append(" AND ROWNUM =1)");