Oracle数据备份

时间:2013-01-04 07:07:08

标签: oracle unix

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

1 个答案:

答案 0 :(得分: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