2017-11-03 114 views
0

我需要为50个不同记录插入以下值“1”“到”150)“。如何将下面的内容缩短为一行?Oracle SQL - 如何插入多个记录

insert into p.p_assumptions (p_number, value) values (11, '1)'); 
insert into p.p_assumptions (p_number, value) values (11, '2)'); 
... 
insert into p.p_assumptions (p_number, value) values (11, '150)'); 
+0

插入连接成什么样?现有的表格?什么是你需要插入这些值的** 50个不同记录**?你的意思是'11'也是通用的,你也必须为'p_number = 1','p_number = 2'等这样做。 – mathguy

回答

2

一种方法是使用by子句

insert into p_assumptions (p_number, value) 
select 11, level || ')' 
from dual 
Connect by level <= 150; 
+1

只需连接到数字。更新。请立即检查 – GurV

2

一个简单的方法:取一张至少有150条记录的表格。然后

insert into p_assumptions (p_number, value) 
select 11, to_char(rownum) || ')' 
from table_with_at_least_150_records 
where rownum <= 150;