I have three tables employee, department, hrrecords
employee table:
| emp id | empname |
|---|---|
| 101 | aaa |
| 102 | bbb |
| 103 | ccc |
Department Table:
| dep id | dep name |
|---|---|
| 1 | X |
| 2 | Y |
| 3 | Z |
I need to insert data from the above two tables into table 'hrrecords' like this
| emp id | dep id |
|---|---|
| 101 | 1 |
| 101 | 2 |
| 101 | 3 |
| 102 | 1 |
| 102 | 2 |
| 102 | 3 |
| 103 | 1 |
| 103 | 2 |
| 103 | 3 |
I wanted to do this using loops, any suggestions please ?
CodePudding user response:
Its not the best solution, but it should work in your case:
insert into hrrecords
select emp_id, dep_id
from employee, department
CodePudding user response:
I wanted to do this using loops, any suggestions please ?
You can create a procedure like this:
CREATE OR REPLACE PROCEDURE loop_insert IS
cursor c1
is
select emp_id
from employee;
cursor c2
is
select dep_id
from Department;
BEGIN
for v1 in c1 loop
for v2 in c2 loop
insert into mytable values(v1.emp_id, v2.dep_id);
end loop;
end loop;
END loop_insert;
/
and then you can execute it like this:
begin
loop_insert;
end;
/
