Вам нужен CTE для достижения результатов:
create table t ( t varchar2(50) , i int );
insert into t values ( 'abc', 2);
insert into t values ( 'xyz', 3);
with cte (t,i) as (
select t.t, t.i from t
union all
select cte.t, cte.i - 1 as i
from cte
where cte.i > 1
)
select cte.t
from cte
Результат:
t
---
abc
xyz
xyz
xyz
abc
Переведено из T_SQL в синтаксис ORACLE с помощью @ a_horse_with_no_name