insert into tb2
select max(decode(id,1,code,0)),
max(decode(id,2,code,0)),max(decode(id,3,code,0)),
max(decode(id,4,code,0)),max(decode(id,5,code,0)),
max(decode(id,6,code,0)),max(decode(id,7,code,0)),
max(decode(id,8,code,0)),max(decode(id,9,code,0))
from (select rownum id,code from tb1 where rownum<10) t;