【发布时间】:2020-03-29 19:25:47
【问题描述】:
我目前正在将数据从表中获取到另一个表中。但是,旧表有 3 行,我的新表有两个,但一个是 ID PK。所以我想从这 3 行中获取数据并将它们插入到PN 表中。这里的问题是PN_ID。我是新手,任何帮助都会很有用。以下是我当前的代码以及我尝试过的代码。
这是我要从中获取数据的表:
CREATE TABLE NAMES (
NAME_ID varchar(9),
NAME varchar(35),
PN1 varchar(255),
PN2 varchar(255),
PN3 varchar(30)
);
这也是插入数据的新表:
CREATE TABLE PN(
PN_ID INT,
PN VARCHAR (30)
);
Insert into PN(PROFFESION_ID, PN)
Select PN1 ||', '||PN2 ||', '||PN3 from NAMES;`
这里的问题是PN_ID,我想成为AUTO_INCREMENT,但我确实尝试了不同的方法,但它们都不起作用,例如:
CREATE SEQUENCE seq_person
MINVALUE 1
START WITH 1
INCREMENT BY 1
CACHE 10;
【问题讨论】:
-
您忘记了
... Select seq_person.nextval || ...中seq_person.nextval后面的逗号,还需要删除seq_person.nextval后面的连接运算符。试试... SELECT seq_person.nextval, ', ' || ...。 -
Insert into PROFFESION(PROFFESION_ID, PROFFESION) Select seq_person.nextval , PROFESSION1 from NAMES;应该可以工作。 -
谢谢你们帮助我
标签: oracle sql-insert