java - 如何使用 ResultSet JDBC 更新包含连接的 Select 字段

标签 java sql sql-server jdbc

是否可以使用 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/

相关文章:

mysql - 为什么删除了 3 行的 sql 查询拼图?

sql - Oracle 10g 上的子查询问题

sql-server - 如何在临时表中保存选择查询结果?

sql-server - 更改列,添加默认约束

java - 嵌套映射与多键映射性能

java - 如何使用 Jface 同步两个 Eclipse 部件

sql - 在SQL语句中使用Shell脚本的优缺点

sql - 在过程中定义模式

java - 将 JWT 与 Google App Engine 结合使用

java - 如何更新 gwt-maven-plugin 原型(prototype)?