2017-11-03 115 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;