Data Dump过程有助于以编程方式将许多表导出为CSV等简单格式。 首先,使用上面的链接安装软件包。下面的代码创建一个目录,循环遍历表,并将每个表导出为CSV。
create or replace directory temp_dir as 'C:\temp';
begin
for tables in
(
select
owner||'_'||table_name||'.csv' file_name,
'select * from "'||owner||'"."'||table_name||'"' v_sql
from dba_tables
where owner = 'XYZ'
and table_name like 'XYZ%'
order by 1
) loop
data_dump
(
query_in => tables.v_sql,
file_in => tables.file_name,
directory_in => 'TEMP_DIR',
delimiter_in => ',',
header_row_in => true
);
end loop;
end;
/
4条答案
按热度按时间oaxa6hgo1#
我已经创建了一个实用程序,您可以通过它生成PL/SQL过程从表中导出数据。它将采用以下参数,表名,列名,目录名和目录名。您可以立即为50个表生成50个过程从Oracle导出数据。检查此链接Generate PL/SQL Procedure to export data into CSV
jm2pwxwz2#
您可以尝试以下步骤。
1.编写一个循环来获取表名
1.使用游标从每个表中获取数据
1.使用.UTL_FILE实用程序以任何所需格式将数据写入文件。
这是一个非常高层次的解决方案。但我相信它会工作。
gc0ot86w3#
我设法动态地通过所有表,并获得列名和写入一个文件。我挣扎到部分如何从表中动态获取数据行时,执行即时查询?我应该如何保存数据行,然后获取它并写入文件?下面是代码:
字符串
bxpogfeg4#
Data Dump过程有助于以编程方式将许多表导出为CSV等简单格式。
首先,使用上面的链接安装软件包。下面的代码创建一个目录,循环遍历表,并将每个表导出为CSV。
字符串