java - 如何使用 ResultSet JDBC 更新 Select 中包含联接的字段
问题描述
是否可以使用 ResultSet 更新多个表中的字段?我尝试了选择:
“SELECT PERSONS.NAME FROM PERSONS”,它可以工作,但是当我加入时,它会抛出一个错误,指出字段标题无效。是否可以编写多个连接,然后更新所有字段,还是我必须逐表进行?
示例代码:
Statement statement = null;
try {
statement = conn.createStatement();
statement = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
String sql = "SELECT PERSONS.NAME, BOOKS.TITLE,* FROM PERSONS LEFT OUTER JOIN BOOKS ";
ResultSet rs = statement.executeQuery(sql);
while (rs.next()) {
rs.updateString( "NAME", "John");
rs.updateString("TITLE", "Random Title");
rs.updateRow();
}
} catch (SQLException e ) {
JDBCTutorialUtilities.printSQLException(e);
} finally {
if (statement != null) { statement.close(); }
}
解决方案
据我所知,您只能更新SELECT
与单个表对应的“简单” SQL。当你添加一个连接时,它突然变成了一个“复杂的 SQL”。