|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
![]() ![]() ![]() Inscription : mai 2003 Messages : 6 705 ![]() |
Bonjour,
Je vous propose un nouvel élément à utiliser : Extraire le contenu d'une table ou générer les ordres d'insertion Ce script contient la définition d'une procédure stockée (EXTRACTION_TABLE.PRC) qui permet d'extraire dans un répertoire (DIRECTORY) particulier et un fichier nommé soit : Les lignes de la table avec le séparateur souhaité Les ordres d'insertion correspondant à la sélection Cette procédure permet d'indiquer les particularités suivantes : le caractère de séparation des colonnes (par défaut la virgule) le format des dates (par défaut 'DD/MM/YYYY') une clause WHERE une clause ORDER BY Voici les paramètres qu'accepte la procédure CREATE OR REPLACE PROCEDURE Extraction_Table ( PC$Table in Varchar2, -- Nom de la table a extraire PC$Fichier in Varchar2, -- Nom du fichier de sortie PC$Repertoire in Varchar2, -- Nom du directory de sortie PC$Separateur in Varchar2 Default ',', -- Caractere de separation PC$Entetes in Varchar2 Default 'O', -- Affichage de l'entete des colonnes PC$DateFMT in Varchar2 Default 'DD/MM/YYYY', -- Format des dates PC$Where in Varchar2 Default Null, -- Clause Where de filtrage PC$Order in Varchar2 Default Null -- Colonne de tri ) IS PC$Table reçoit le nom de la table à extraire PC$Fichier reçoit le nom du fichier d'extraction PC$Repertoire reçoit le nom du répertoire d'extraction PC$Separateur reçoit le caractère de séparation des colonnes (sans effet pour la génération des ordres d'insertion) PC$Entetes peut prendre 3 valeurs : 'O' demande l'extraction des lignes avec affichage de l'entête des colonnes 'I' demande la génération des ordres d'insertion 'O' et 'I' demande l'extraction des lignes sans entête de colonnes PC$DateFMT reçoit le format d'extraction des dates PC$Where reçoit une éventuelle clause de filtrage PC$Ordre reçoit une éventuelle clause de tri Quelques exemples d'utilisation : Extraire dans un fichier les lignes de la table EMP avec entête de colonne, séparées par un point-virgule Extraction_table ( PC$Table => 'EMP' , PC$Repertoire => 'FIC_OUT' , PC$Separateur => ';' ) ; Générer les ordres d'insertion pour la table EMP avec format des dates 'DD/MM/YYYY HH24:MI:SS' dont le job est 'CLERK' Extraction_Table ( PC$Table => 'EMP' , PC$Repertoire => 'FIC_OUT' , PC$Entetes => 'I' , PC$DateFMT => 'DD/MM/YYYY HH24:MI:SS' , PC$Where => 'JOB = ''CLERK''' ) ; Si vous souhaitez également n'extraire que certaines colonnes de la table, la procédure est aisément modifiable, en lui passant en paramètre supplémentaire, une collection contenant les colonnes à extraire. Le fichier extraction_table.zip contient deux procédures : extraction_table_8i.prc pour une base 8i extraction_table_9i.prc pour une base 9i Qu'en pensez-vous ?
__________________
Rédacteur Oracle (Oracle ACE) Guide Oracle ,Guide PL/SQL, Guide Forms 9i/10g, Index de recherche Je ne réponds pas aux questions techniques par MP Blogs: Forms-PL/SQL-J2EE - Forms Java Beans |
|
|
00
|
Copyright © 2000-2013 - www.developpez.com