情况:
有下表称为P_FAMILIA
:
|ID | NAME | SOLDADOS |
|---|------------|------------|
| 1 | Stark | 30000 |
| 2 | Targaryen | |
| 3 | Lannister | 15000 |
| 4 | Greyjoy | |
需要构建一个sql查询,将上一张表的所有字段(提供的数据是一个例子,可以有很多条记录)传递到另一个表中,称为P_DIAFAMILIA
加数字1,即执行查询后get
|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;
将一个表中的所有记录插入另一个表的基本语法是:
对于这种特殊情况,查询将是: