1 - quero montar uma função e mandar um parametro que é uma variavel de cursor. A função me retorna uma string com todos os campos daquela variavel separados por ';'
2 - Os cursos que passo como parametro podem variaval
Vou dar um exemplo para que fique mais claro
FUNCTION fc_SepararCampos (
r_record -- Aqui seria um cursor dinamico ou coisa asssim
p_Separador CHAR DEFAULT ';'
)
RETURN VARCHAR2 IS
vLinha VARCHAR2 (4000);
BEGIN
vLinha := '';
For (Para cada coluna do cursor) LOOP
vLinha := vLinha || p_Separador || r_record.Coluna ;
END FOR;
Return vLinha;
END;
CURSOR c_LinhaA IS
Select * from imovel;
CURSOR c_LinhaB IS
Select * from imovel_unidade;
CURSOR c_LinhaC IS
Select * from imovel_lancamento;
CURSOR c_LinhaD IS
Select * from imov_lanc_compomente;
For rgLinhaA IN c_LinhaA LOOP
vLinhaSeparada := fc_SepararCampos (rgLinhaA);
UTL_FILE.Put_Line (arquivo_saida, vLinhaSeparada);
END LOOP;
For rgLinhaB IN c_LinhaB LOOP
vLinhaSeparada := fc_SepararCampos (rgLinhaB);
UTL_FILE.Put_Line (arquivo_saida, vLinhaSeparada);
END LOOP;
For rgLinhaC IN c_LinhaC LOOP
vLinhaSeparada := fc_SepararCampos (rgLinhaC);
UTL_FILE.Put_Line (arquivo_saida, vLinhaSeparada);
END LOOP;
For rgLinhaD IN c_LinhaD LOOP
vLinhaSeparada := fc_SepararCampos (rgLinhaD);
UTL_FILE.Put_Line (arquivo_saida, vLinhaSeparada);
END LOOP;
alguém tem alguma idéia como fazer isso ?