lostinOracle
lostinOracle

Reputation: 408

Oracle SQL - how to insert multiple records

I need to insert the following values "1)" to "150)" for 50 different records. How do I shorten the below into one line?

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)');

Upvotes: 0

Views: 102

Answers (2)

Gurwinder Singh
Gurwinder Singh

Reputation: 39537

One way is using connect by clause

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

Upvotes: 2

Thorsten Kettner
Thorsten Kettner

Reputation: 95101

A simple method: Take a table with at least 150 records. Then

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

Upvotes: 2

Related Questions