如何使用ResultSet JDBC从Select中更新包含联接的字段

时间:2018-09-20 20:47:36

标签: java sql sql-server jdbc

是否可以使用ResultSet从许多表中更新字段? 我尝试了选择:
“从人员中选择PERSONS.NAME”,它可以正常工作 但是当我有一个连接时,它会引发一个错误,说字段标题是 无效。 是否可以编写多个联接然后更新所有字段或执行 我必须一个个地做吗?

示例代码:

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(); }
}

1 个答案:

答案 0 :(得分:2)

据我所知,您只能更新对应于单个表的“简单” SQL SELECT。添加联接时,它突然变成“复杂SQL”。