SQLPlus fichier CSV

Options de formatage des résultats

Ici se trouve une présentation très détaillée.

1. Largeur des colonnes

Un formatage élémentaire consiste à donner une largeur aux colonnes, comme ceci :
set recsep off (pour éviter qu’il n’y ait quelque chose entre chaque ligne, le quelque chose étant défini par la variable recsepchar)
column format a20 (la colonne aura 20 caractères de large)
puis entrer la requête.

nom_de_colonne est égal au nom des champs qu’on sélectionne.
Quel est l’équivalent du AS sur sql server ?
Réponse : c’est la commande column heading
Par exemple : column doris_key heading exemplaire

2. Largeur des lignes

La commande set linesize permet de limiter la largeur de la page.

Attention, il faut que la somme des largeurs de colonnes n’excède pas la largeur de la ligne ! Sinon, sqlplus reprend son formatage par défaut.

Où se trouve le fichier de formatage par défaut ?
Réponse : en tapant la commande show all, on a tout le formatage par défaut.
On peut sauvegarder tous ces paramètres dans un fichier en envoyant la commande store set
Voici le contenu de ce fichier.
Au démarrage, sqlplus lit le contenu du fichier glogin.sql.
Voici le contenu de ce fichier.
Ce fichier est dans : oraclev8:app:oracle:product:8.1.7:sqlplus:admin

Si on veut conserver un paramétrage pour toutes les futures utilisations de sqlplus, il faut les enregistrer dans un fichier login.sql placé dans le répertoire de base : à essayer.

3. Longueur des pages

La commande set pagesize permet de préciser tous les combiens de lignes va revenir le titre des colonnes. Dans le paramétrage par défaut, cette variable est à 14, c’est pour ça que les noms des colonnes reviennent si souvent !
Pour supprimer tout retour des titres de colonnes, taper set pagesize 0

Formatage pour csv

1. Enregistrer les options de formatage dans un fichier externe qu’on appellera avec @. Voici par exemple le contenu d’un fichier csv.sql :

set LIN 1000
set HEADING OFF
set TRIMSPOOL ON
set PAGESIZE 0
set EMBEDDED OFF
set HEADS OFF
set NEWP NONE
set ECHO OFF
set FEEDBACK OFF
set SPACE 0
set COLSEP " "
set TAB OFF

2. Avant de lancer la requête, faire spool .csv (pas besoin d’indiquer tout le chemin si on lance sqlplus dans le même répertoire où l’on veut envoyer le fichier).

3. Appeler le fichier de formatage : @csv.sql

4. Taper la requête en faisant une concaténation des colonnes comme ceci :
select col1||’;’||col2 from

5. Taper spool off

Signification des réglages :
TRIMSPOOL ON : suppression des espaces en fin de ligne
TAB OFF : non utilisation des tabulations
EMBEDDED OFF : pas de contrôle sur l’endroit de la page où doit commencer le rapport
HEADING OFF : en-tête du résultat (= nom des colonnes)

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *