У меня есть два оператора select и я делаю 'union all' для этих двух операторов. Затем я использую PreparedStatement, и когда я устанавливаю значениеString в значение prepareStatement, оно показывает "java.sql.SQLException: отсутствует параметр IN или OUT в index :: 2".
После того, как я совершил поездку по Google, некоторые люди говорят, что для каждого "?" в sql statment я должен написать setString. Для моей ситуации у меня есть две выбранные оценки, поэтому у меня есть две "?" но я "объединяю всех", так что я не уверен, предполагается ли это "?" или два "?" Но когда я пытался написать два setString, как
preparedStatement.setString (1, ApplicationNo);
preparedStatement.setString (2, ApplicationNo);
, он показывает «ORA-00918: столбец определен неоднозначно».
Понятия не имею, как решить эту проблему.
Мой профсоюз выбрал статус
query.append("select TO_CHAR(TRUNC(SYSDATE),'DD MONTH,YYYY'),a.appl_no,a.assigned_to,b.co_name,b.co_name2,a.credit_acct_no,a.credit_bank_no,a.credit_branch_no,a.service_id ");
query.append("from newappl a, newappl_hq b where b.appl_no = a.appl_no and a.appl_no=(select appl_no from newappl where appl_no=?) and rownum=1 and credit_status = 'CRPEND'");
query.append(" union all ");
query.append("select TO_CHAR(TRUNC(SYSDATE),'DD MONTH,YYYY'),a.appl_no,a.assigned_to,c.trading_name co_name, ' ' co_name2, d.bank_acct_no credit_acct_no, d.bank_no credit_bank_no, d.bank_branch_no credit_branch_no,a.service_id ");
query.append("from newappl a,newappl_hq b, newappl_ret c, newappl_ret_bank d where b.appl_no = a.appl_no or a.appl_no = c.appl_no and c.ret_id= d.ret_id and a.appl_no=(select appl_no from newappl_ret where appl_no=?) and rownum=1 and credit_status = 'CRPEND'");*
setString равно prepareStatement.setString (1, ApplicationNo);
Когда я искал пример setString, есть два разных параметра, если есть два setString вроде
preparedStatement.setString(1,ApplicationNo);
preparedStatement.setString(2,LoginID);
Но мне нужно ApplicationNo для обоих выбранных показателей.