la solución a_horse_with_no_name-s sería
SELECT distinct Key,(level + StartNum)-1 Num
FROM Table1
CONNECT BY (LEVEL +StartNum ) <= EndNum+1
order by Key, Num
Salida:
A 1
A 2
A 3
B 6
B 7
B 8
Pero preferiría crear una tabla temporal global y completarla desde plsql, ya que el método anterior contiene descartes posteriores en la tabla (por lo tanto, se requiere la distinción).http://www.dba-oracle.com/t_temporary_tables_sql.htm