Ситуация:
Существует следующая таблица под названием P_FAMILIA
:
|ID | NAME | SOLDADOS |
|---|------------|------------|
| 1 | Stark | 30000 |
| 2 | Targaryen | |
| 3 | Lannister | 15000 |
| 4 | Greyjoy | |
Требуется построить sql-запрос, передать все поля предыдущей таблицы (данные предоставлены для примера, в ней может быть гораздо больше записей) в другую таблицу, называемую P_DIAFAMILIA
сложением числа 1, то есть после выполнения запроса получить
|ID |IDP_FAMILIA| NAME | SOLDADOS |
|---|-----------|------------|------------|
| 1 | 1 | Stark | 30000 |
| 1 | 2 | Targaryen | |
| 1 | 3 | Lannister | 15000 |
| 1 | 4 | Greyjoy | |
Схема
CREATE TABLE P_FAMILIA
(
ID INT,
NAME VARCHAR2(30 BYTE),
SOLDADOS FLOAT(126)
);
ALTER TABLE P_FAMILIA
ADD PRIMARY KEY (ID);
CREATE TABLE P_DIAFAMILIA
(
ID INT NOT NULL,
IDP_FAMILIA INT NOT NULL,
NAME VARCHAR2 (30 BYTE),
SOLDADOS FLOAT (126)
);
ALTER TABLE P_DIAFAMILIA
ADD( FOREIGN KEY (ID)
REFERENCES P_FAMILIA (ID));
-- Insert Statements
Insert into P_FAMILIA
(ID, NAME, SOLDADOS)
Values
(1, 'Stark', 30000);
Insert into P_FAMILIA
(ID, NAME)
Values
(2, 'Targaryen');
Insert into P_FAMILIA
(ID, NAME, SOLDADOS)
Values
(3, 'Lannister', 15000);
Insert into P_FAMILIA
(ID, NAME)
Values
(4, 'Greyjoy');
COMMIT;
Основной синтаксис для вставки всех записей из одной таблицы в другую:
Для этого конкретного случая запрос будет таким: