每次使用时插入插入不同的值

  • 本文关键字:插入 sql oracle11g
  • 更新时间 :
  • 英文 :


我有一个表,有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<此处小提琴>

最新更新