Как обновить поля из Select, которые содержат объединения, используя ResultSet JDBC - PullRequest
0 голосов
/ 20 сентября 2018

Можно ли обновить поля из многих таблиц, используя ResultSet?Я попытался с помощью select:
"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(); }
}

1 Ответ

0 голосов
/ 20 сентября 2018

Насколько я помню, вы можете обновлять только "простые" SQL SELECT s, которые соответствуют одной таблице.Когда вы добавляете объединение, оно внезапно становится «сложным SQL».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...