将数据从Oracle表传输到文本文件
我感兴趣的是可以用PL/SQL块将Oracle表的内容传输到硬盘上的文本文件中。我需要一个PL/SQL块,它可以下载将用于将日志数据存储到文本文件中的表格内容。将数据从Oracle表传输到文本文件
问候
您可以使用UTL_FILE包这个..
你可以试试下面的块体 -
declare
p_file util_file.file_type;
l_table <your_table_name>.ROWTYPE;
l_delimited varchar2(1) := '|';
begin
p_file:= utl_file.fopen('<file_path>','<file_name>','W');
for l_table in (select * from <your_table_name>) loop
utl_file.putline(p_file,l_table.col1||l_delimited||l_table.col2||l_delimited||l_table.col3||l_delimited||l_table.col4||l_delimited <continue with column list .........> ||chr(10));
end loop;
utl_file.fclose_all();
end;
这将把表中的所有信息下载到文件中?我如何每10分钟运行一次该代码? – user1285928 2012-03-24 10:11:23
你有没有问这个问题..但这也是可能的..你可以使用时间表来运行这项工作.. – 2012-03-24 10:12:57
我刚给你一个开始,你可以扩展这个在你想要的形式.. :) – 2012-03-24 10:13:31
PRATIK GARG的回答是一个很好的一个。
但是,您可能还想考虑使用EXTERNAL TABLE。
基本上,它是映射到文件的表格。所以插入到表中的每一行都会自动写入一个文件。
你可以看到一个例子here
看一看下面的链接http://www.dbforums.com/oracle/805663-pl-sql-how-spool-my-output-files.html – 2012-03-24 09:58:42
可能重复[将数据从文本文件加载到oracle中的表](http://stackoverflow.com/questions/3750538/loading-data-from-a-text-file-to-a-table-in-oracle) – 2012-03-24 19:50:41
你想写在客户端还是服务器端?使用UTL_FILE作为服务器端和客户端,你可以从sql *加上后台打印 – vijayaragavan 2012-03-25 09:46:21