Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

jose henrique

Cursor com select dinamico

Recommended Posts

Pessoal, sou novo e minha duvida eh como passar um select dinamico para um cursor?

pretendo criar uma funcao que exporta um arquivo texto do oracle, mas como serao varios arquivos

pensei em criar uma funcao que pega um select qualquer do tipo

 

select 1||2||3 as linha from dual

e esses registros serao as linhas do meu arquivo texto. mas ao tentar fazer o cursor aceitar um sql dinamico ....dá pau !!

 

+ou- asssim

 

function exporta_arquivo_job(
	   stmt_sql in varchar2, 
	   filename in varchar2)
	 return integer is
	 
	 cursor exp_jobs is [b]EXECUTE IMMEDIATE stmt_sql;[/b]
								[b]--dbms_sql.execute(stmt_sql);[/b]
	 l_vc_filename varchar2(30);
	 l_ft_fhandle  varchar2(30);
   begin
	  -- prepara o nome do arquivo que vai ser gerado	 
	  l_vc_filename := filename||to_char(sysdate, 'YYMMDD')||'.txt';
	  l_ft_fhandle := utl_file.fopen('C:\', l_vc_filename, 'W');
	  
	  for reg in exp_jobs loop
		utl_file.put(l_ft_fhandle, exp_jobs.linha);
	  end loop;
   
	  utl_file.fclose(l_ft_fhandle);	  
   end;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Assunto bastante discutido por aqui, dê uma busca e deve achar coisa que te ajude.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.