2013-01-04 3 views
0

J'utilise Oracle 11g. Je voulais déplacer certains enregistrements d'une table vers un fichier plat. Y at-il un utilitaire à faire la même chose comme sqlldr. J'ai créé des scripts Unix pour faire la même chose mais ça ne faisait pas l'affaire. AideOracle Data Backup

+0

Que diriez-vous de partager votre script et d'expliquer le problème dans tout cela? Le script le plus probable exécutant du SQL avec SQL * Plus serait le bon outil ici. –

Répondre

1

Vous pouvez utiliser le package UTL_FILE pour charger toutes les données de la table dans un fichier plat. Voici l'exemple de code pour cette

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; 

Vérifiez Oracle documentation sur le paquet