Téléchargé 7 fois
Vote des utilisateurs
0
0
Détails
Licence : Non renseignée
Mise en ligne le 30 décembre 2011
Langue : Français
Référencé dans
Navigation
Extraire le contenu d'une table ou générer les ordres d'insertion
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
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
Developpez.com décline toute responsabilité quant à l'utilisation des différents éléments téléchargés.