<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Dia a dia Oracle &#187; gerando arquivo no oracle</title>
	<atom:link href="http://www.diaadiaoracle.com.br/category/gerando-arquivo-no-oracle/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.diaadiaoracle.com.br</link>
	<description></description>
	<lastBuildDate>Thu, 08 Apr 2010 17:33:36 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>SQL Dinâmico gerando arquivo</title>
		<link>http://www.diaadiaoracle.com.br/2009/05/29/sql-dinamico-gerando-arquivo/</link>
		<comments>http://www.diaadiaoracle.com.br/2009/05/29/sql-dinamico-gerando-arquivo/#comments</comments>
		<pubDate>Fri, 29 May 2009 13:28:00 +0000</pubDate>
		<dc:creator>oracle</dc:creator>
				<category><![CDATA[execute_immediate]]></category>
		<category><![CDATA[gerando arquivo no oracle]]></category>
		<category><![CDATA[gerar arquivo]]></category>
		<category><![CDATA[pl/sql]]></category>
		<category><![CDATA[sql dinamico]]></category>
		<category><![CDATA[utl_file]]></category>

		<guid isPermaLink="false">http://www.diaadiaoracle.com.br/?p=9</guid>
		<description><![CDATA[Fala PessoAll,
Bom, no último tópico postado Oracle Execute Immediate SQL Dinâmico eu falei um pouco sobre como montar e executar query&#8217;s dinâmicamente. Ficou bem interessante, mas&#8230; o exemplo que postei era para um único registro, e não é sempre que temos este tipo de caso. Algumas vezes temos que executar consultas que retornam mais de [...]]]></description>
			<content:encoded><![CDATA[<p>Fala PessoAll,</p>
<p>Bom, no último tópico postado <a href="http://diaadiaoracle.blogspot.com/2009/04/oracle-execute-immediate-sql-dinamico.html" target="top">Oracle Execute Immediate SQL Dinâmico</a> eu falei um pouco sobre como montar e executar query&#8217;s dinâmicamente. Ficou bem interessante, mas&#8230; o exemplo que postei era para um único registro, e não é sempre que temos este tipo de caso. Algumas vezes temos que executar consultas que retornam mais de um registro, precisamos inserir isso numa tabela, gravar em um log, gerar um arquivo, e outra série de possibilidades.</p>
<p>Se vocês observarem os comentários do tópico anterior, vão ver que tem um comentário de um Anônino perguntando se não tenho um exemplo de SQL Dinâmico e que gere um arquivo. Resposta: Não tenho. Mas isso não quer dizer que não podemos fazer um.</p>
<p>Vamos ao nosso exemplo.</p>
<p><code><br />
declare<br />
type tpNome is REF CURSOR;<br />
cNome tpNome;</code></p>
<p>&#8211;Variáveis para armazenar query e retorno.<br />
v_sql  varchar2(1000);<br />
v_nome varchar2(100);</p>
<p>&#8211;Variáveis para geração do arquivo<br />
v_arq utl_file.file_type;<br />
begin<br />
&#8211;Define a query<br />
v_sql := &#8216;Select nome from pessoas where rownum &lt; 50&#8242;;</p>
<p>&#8211;Abre o arquivo<br />
v_arq := utl_file.fopen(&#8216;DIRECTORY&#8217;, &#8216;FILE_NAME&#8217;, &#8216;W&#8217;);</p>
<p>open cNome for v_sql;<br />
loop<br />
fetch cNome into v_nome;<br />
exit when cNome%notfound;</p>
<p>utl_file.put_line(v_arq, v_nome);<br />
end loop;</p>
<p>&#8211;Fecha o arquivo<br />
utl_file.fclose;<br />
end;</p>
<p>No exemplo acima, estamos lendo os 50 primeiros registros de uma tabela chamada <code>pessoas</code> e gerando um arquivo com o nome destas pessoas. Bastante simples.</p>
<p>O exemplo acima abre uma série de portas, este é o famoso &#8220;fio da meada&#8221; e a partir deste exemplo uma série de coisas podem ser feitas.</p>
<p>Querido amigo Anônimo, espero que isso te ajude, na próxima vez deixa teu email que fica mais fácil de responder pra você.</p>
<p>Grande abraço a todos.</p>
<p>Atc.<br />
Gerson Júnior<br />
(gerson.vasconcelos@gmail.com)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.diaadiaoracle.com.br/2009/05/29/sql-dinamico-gerando-arquivo/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
