Hola, No se si sea muy tarde para responder esto, pero yo recien lo veo. En fin, quiza ayude a alguien mas.
* Yo recomiendo hacerlo con un cursor.
1. creas un procedimiento almacenado y declaras un cursor ademas debes de declarar una variable por cada columna que necesites de la siguiente manera:
Código:
procedure ejemplo(
)is
variable_column1 number;
variable_column2 varchar2(10);
variable_column3 char(3);
cursor cur_nom is select column1, column2, column3 from tablas ;
BEGIN
--Aqui abres tu cursor
open cur_nom;
--Haces un loop
loop
fetch cur_nom into variable_column1,variable_column2,variable_column3;
exit when cur_nom%notfound; -- esto es para que salga del loop en cuanto el cur_nom se quede sin datos, osea cuando y arecorrio todas las filas.
--Aqui iria tu otro select. Puede ser un insert quiza, depende de lo que necesites.
Select variable_column1, variable_column3 from tablas where COLUMNA_X = variable_column2;
end loop; --
close cur_nom; -- cierras cursor
END ejemplo;