Это оригинал 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.