2013-01-04 57 views
0

我正在使用Oracle 11g。我想将某些记录从表格移动到平面文件。是否有像sqlldr一样的实用工具?我创建了unix脚本来做同样的事情,但它没有达到目的。请帮助Oracle数据备份

+0

如何共享您的脚本,并解释这个问题?使用SQL * Plus执行某些SQL的脚本很可能是这里的正确工具。 –

回答

1

您可以使用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 
           ||Chr(10)); 
    END LOOP; 

    utl_file.Fclose_all(); 
END; 

检查Oracle documentation示例代码