Корректность запроса HSQLDB

#java #spring #hsqldb #jdbctemplate

#java #весна #hsqldb #jdbctemplate

Вопрос:

объединить в TEST_TABLE a с помощью (выбрать ? ID1, ? ID2 из dual) b (ID1, ID2) на (a.ID2 = b.ID2) при совпадении затем обновите НАБОР a.ID1 = b.ID1 если не совпадают, затем вставьте (a.ID1, a.ID2) значения (b.ID1, b.ID2)

Является ли приведенный выше запрос HSQLDB синтаксически корректным для передачи в качестве параметра в метод JdbcTemplate object.update ?

Я получал слишком много ошибок и не смог найти в Интернете никаких полезных материалов, которые могли бы мне помочь.

Спасибо.

Ответ №1:

Нет, это не правильно, по крайней мере, по этим причинам:

выберите (? ID1 , ? ID2) b не имеет типа для столбцов. Использовать select (ПРИВЕДЕНИЕ(? КАК INT) ID1 , ПРИВЕДЕНИЕ(? КАК VARCHAR(10) ID2) b с предполагаемым типом для этих столбцов