Я новичок в OracleDB и надеюсь помочь мне. У меня есть две таблицы, показанные на изображении ниже. Я хочу вставить любое количество строк из таблицы 2 в таблицу 1, используя цикл (возможно, в процедуре). Это может произойти путем повторения идентификаторов из таблицы 2 и вставки выбранного от меня в новую обновленную таблицу 1.
Изображение:

Вторая таблица должна остаться прежней, и я должен иметь возможность сделать это со всеми строками из таблицы 2, которые соответствуют моим потребностям. Я написал псевдокод, но не знаю, как его реализовать. Заранее спасибо!
Почему 5, 6 и 7 для новых идентификаторов?
Почему Luther не копируется из таблицы2 в таблицу1, а другие записи копируются?
@Littlefoot да, я должен иметь возможность делать это с любыми строками, которые захочу. Это всего лишь пример. Я обновлю свой вопрос сейчас.

Это оригинальныйtable1:
SQL> select * from table1;
ID NAME PHONE
---------- ---------- ----------
1 Bob 123456
2 Jake 654975
3 Dillan 252487
Если вы хотите «скопировать» любые строки, которые вы хотите, то простой вариант — это чистый оператор SQL INSERT, например.
SQL> insert into table1 (id, name, phone)
2 select id, name, phone
3 from table2
4 where id = &par_id;
Enter value for par_id: 4
1 row created.
(&par_id — подстановочная переменная SQL*Plus)
Или вы можете указать несколько из них в виде списка IN, например.
SQL> insert into table1 (id, name, phone)
2 select id, name, phone
3 from table2
4 where id in (5, 6);
2 rows created.
Результат тогда
SQL> select * from table1 order by id;
ID NAME PHONE
---------- ---------- ----------
1 Bob 123456
2 Jake 654975
3 Dillan 252487
4 Harley 265687
5 Jack 244587
6 Luther 259876
6 rows selected.
Или вы можете написать процедуру для этого (в цикле? Почему бы и нет, если она работает), но я предполагаю, что окончательный выбор зависит от того, что именно вы хотите сделать. В настоящее время я не вижу необходимости в PL/SQL.
большое спасибо, да, мне не нужно использовать процедуру или цикл, но я хотел иметь возможность использовать это каждый раз, когда я хочу вставить строки в таблицу 1 на основе таблицы 2. Я постараюсь решить это самостоятельно. Еще раз большое спасибо за вашу помощь!
Какие строки определенные строки? Почему они Дон, Харли и Джек, а не (например) Лютер, Харли и Кристиан?