Получите внутренний результат SELECT как ResultSet из инструкции INSERT INTO SELECT в mySQL Java
У меня есть 2 Database A
, Database A
и Database B
Чего я хочу достичь:
строить записи изDatabase A
и вставлять их в Database B
Обработайте эти записи в моем приложении java Что я сейчас делаю: я использую два отдельных запроса:
Для (1) я использую INSERT INTO... SELECT...
Для (2) я выполняю другой SELECT
.
Мое решение работает, но оно не оптимально, так как я получаю записи из Database A
дважды (вместо одного раза).
Есть ли способ выполнить INSERT INTO... SELECT...
и получить результат внутреннего выбора как ResultSet
?
Я знаю, что могу выполнять только SELECT
а затем вставлять записи в пакет, но это немного громоздко, и я хочу узнать, есть ли более чистое решение.
К сожалению, я не думаю, что это возможно. То, что вы пытаетесь достичь, - это две разные операции: INSERT
и SELECT
. Однако вы его отрезали, вам все равно придется делать хотя бы один INSERT
и один SELECT
.
Ваше более чистое решение выглядит более громоздким, чем простое чтение и запись.
Поскольку вам нужно манипулировать данными в базе данных B. Вы просто делаете это
Чтение данных из A в приложение Данные обработки Запись данных в B из приложенияЗатем вы просто читаете одиночную запись и просты.
Вы не можете получить результат INSERT INTO
качестве результата, так как это оператор INSERT
используйте это для двух баз данных INSERT INTO Database2 (field1, field2, field3) {SELECT * FROM Database1;);
Обе базы данных имеют одинаковое имя поля.