У меня есть один запрос sql (копирование значений из одной таблицы в другую таблицу в той же базе данных), где он принимает несколько значений, поскольку параметры и значения находятся в списке.
Ниже приведен пример, который я пробовал. Я не получаю никакой ошибки, но она не работает. Я хочу вставить значения в базу данных List EmployeeIDList = new ArrayList (Arrays.asList (123,823,456,890)); List SalaryList = new ArrayList (Arrays.asList (14437,14297,13846,13441));
con1=DriverManager.getConnection(URL1,DB_UserName,DB_Password);
log.info("Data base connection is established");
for (int i=0,j=0;i<EmployeeIDList.size();i++,j++) {
stmt = con1.prepareStatement("Insert INTO Employee(Name, Year, EmployeeID, Tax, Salary)
Select Name, Year, EmployeeID, Tax, Salary
(Employee
when EmployeeID= ? then ? // 1st ? = EmployeeID,2nd ? = Salary
when EmployeeID = ? then ?
when EmployeeID = ? then ?
else ? // ? = Salary
end ) as Employee
"From Employee2 +
"Where EmployeeIDin (?)");
stmt.setInt(1,SalaryList.get(j));
stmt.setInt(2,EmployeeIDList.get(i));
System.out.println("first salry is " +SalaryList.get(j)) ;
System.out.println("first Employeeid is " +EmployeeIDList.get(i)) ;
rs = stmt.execute();
Когда я выполняю «select * from Employee» в sql, он не возвращает никаких значений.
Примечание. Если выполнить вышеупомянутый запрос вставки в sql, он работает нормально. Только через java Я не могу вставить значения.