제목을 다음과 같이 다시 작성합니다. ResultSet의 ID를 가져와서 이를 java.sql.Array로 반환합니다.
P粉905144514
2023-09-03 18:10:50
<p>다음이 있습니다:</p>
<pre class="brush:scala;toolbar:false;"> def getIds(name: String): java.sql.Array = {
유효 ID: 배열[정수] = 배열()
val ps:PreparedStatement = 연결.prepareStatement("SELECT id FROM table WHERE name = ?")
ps.setString(1, 이름)
val resultSet = ps.executeQuery()
동안(resultSet.next()) {
val currentId = resultSet.getInt(1)
ids :+ 현재ID
}
연결.createArrayOf("INTEGER", ids.toArray)를 반환합니다.
}
</pre>
<p>제 의도는 <code>.setArray(1, <array>)</code></p>를 사용하여 이 메서드의 출력을 다른 ReadyStatement에 사용하는 것입니다.
<p>하지만 다음 오류가 발생합니다: <code>java.sql.SQLFeatureNotSupportedException</code></p>
<p>저는 MySQL을 사용하고 있습니다. 이미 INTEGER, INT, BIGINT를 시도했습니다. 그러나 모두 실패했습니다. </p>
번역된 내용은 다음과 같습니다.
조사 결과 다음을 발견했습니다.
그래서 내 해결책은 ID만 포함하는 임시 테이블을 만드는 것이었습니다.
으아악그런 다음 다른 문/쿼리와 내부 조인을 수행하여 동일한 결과를 얻습니다.
으아악