2017-09-29 3 views
-1

나는 다음과 같은 문장이 있습니다 하나 개의 쿼리합니다 (차례로)로 실행됩니다JdbcTemplate을 하나 개의 일괄 처리에서 여러 문에 매개 변수를 보낼

String query = "DELETE FROM myTable WHERE id=? AND otherField=?; DELETE FROM myOtherTable WHERE idOther=? AND anotherField=?;"; 

합니다. 여기에 문제가 쿼리가 세미콜론 (;)으로 구분하고, 매개 변수, 즉 것을

org.postgresql.util.PSQLException: The column index is out of range: 3, number of columns: 2.

나는 가정 : 다음과 같은 오류와 함께 실패

JdbcTemplate template; 
template.update(query, new Object[]{ 1, "otherValue", 3, "anotherValue" }); 

이 : 그래서, 나는 다음과 같은 일을 가지고 각 쿼리에 적용되며 세미콜론에 관계없이 매개 변수 적용을 시도합니다. 그래서, 나는 4 개의 매개 변수를 가지고 있지만 첫 번째 쿼리는 2를받습니다 (두 쿼리의 SUM은 모두 4입니다).

매개 변수를 쿼리에 전달할 수있는 방법이 있습니까? 명명 된 템플릿을 사용할 수 없습니다..

+0

왜 downvote하시기 바랍니다 downvoter 설명 할 수 있습니까? –

+0

두 DELETE 문이 같은 Java 문자열 내에 있어야하는 이유는 무엇입니까? – hammerfest

+0

한 번에 여러 개의 명령문을 실행할 수 없습니다. –

답변

0

직접 교체 작업을 수행 한 다음 쿼리를 실행했습니다.