是否可以使用 ResultSet 更新多个表中的字段?
我尝试选择:
“SELECT PERSONS.NAME FROM PERSONS ”并且它有效
但是当我有一个连接时,它会抛出一个错误,指出字段标题是
无效。
是否可以编写多个联接,然后更新所有字段或执行
我必须逐 table 进行吗?
示例代码:
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(); }
}
最佳答案
据我所知,您只能更新与单个表相对应的“简单”SQL SELECT
。当你添加一个连接时,它突然变成了一个“复杂的 SQL”。
关于java - 如何使用 ResultSet JDBC 更新包含连接的 Select 字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52433079/