我有一个表,有3列6条记录,我想把值插入到另一个表,有额外的sysid列,当我使用insert into子句时,它插入记录但sysid值是相同的,我希望每次记录插入不同的值但我想批量插入
使用序列:
CREATE SEQUENCE table_name__sysid__seq;
:
INSERT INTO table_name (sysid, col1, col2, col3, col4, col5, col6)
VALUES (table_name__sysid__seq.NEXTVAL, 'value1', 'value2', 'value3', 'value4', 'value5', 'value6');
或者,对于多行:
INSERT INTO table_name (sysid, col1, col2, col3, col4, col5, col6)
SELECT table_name__sysid__seq.NEXTVAL, col1, col2, col3, col4, col5, col6
FROM first_table;
否则,如果您使用Oracle 12或更高版本,则将sysid
定义为IDENTITY
列:
CREATE TABLE table_name (
sysid NUMBER
GENERATED ALWAYS AS IDENTITY
PRIMARY KEY,
col1 VARCHAR2(20),
col2 VARCHAR2(20),
col3 VARCHAR2(20),
col4 VARCHAR2(20),
col5 VARCHAR2(20),
col6 VARCHAR2(20)
);
db<此处小提琴>此处小提琴>