Mettre des résultats en forme avec
iSQL*Plus
Objectifs
A la fin de ce chapitre, vous pourrez :
créer des interrogations nécessitant une
variable de substitution
personnaliser l'environnement iSQL*Plus
afficher des résultats plus lisibles
créer et exécuter des fichiers script
Variables de substitution
Je souhaite
interroger différentes
... salary = ? … valeurs.
… department_id = ? …
... last_name = ? ...
Utilisateur
Variables de substitution
Utilisez des variables de substitution iSQL*Plus
pour :
stocker temporairement des valeurs,
» Esperluette simple (&)
» Esperluette double (&&)
» Commande DEFINE
transmettre des variables entre des instructions
SQL,
modifier dynamiquement des en-têtes et pieds de
page.
Utiliser la variable de substitution &
Pour inviter l'utilisateur à entrer une valeur, utilisez
une variable précédée d'une esperluette simple (&).
SELECT employee_id, last_name, salary, department_id
FROM employees
WHERE employee_id = &employee_num ;
Utiliser la variable de substitution &
2
101 1
Valeurs de type caractère et date
dans les variables de substitution
Placez les valeurs de type caractère et date entre
apostrophes.
SELECT last_name, department_id, salary*12
FROM employees
WHERE job_id = '&job_title' ;
Remplacer des noms de colonne, des
expressions et du texte
Les variables de substitution peuvent être utilisées
dans :
les conditions WHERE,
les clauses ORDER BY,
les expressions de colonne,
les noms de table,
les instructions SELECT.
Remplacer des noms de colonne, des
expressions et du texte
SELECT employee_id, last_name, job_id,
&column_name
FROM employees
WHERE &condition
ORDER BY &order_column ;
Définir des variables de substitution
Vous pouvez prédéfinir des variables à l'aide
de la commande DEFINE d'iSQL*Plus.
DEFINE variable = value crée une
variable utilisateur dont le type de données est
CHAR.
Si vous devez prédéfinir une variable
contenant des espaces, placez-la entre
apostrophes lorsque vous utilisez la
commande DEFINE.
Vous pouvez utiliser une variable définie
pour la session.
Commandes DEFINE et UNDEFINE
Une variable reste définie jusqu'à ce que
vous :
− utilisiez la commande UNDEFINE pour l'effacer,
− quittiez iSQL*Plus.
La commande DEFINE vous permet de
DEFINE job_title = IT_PROG
DEFINE job_title
vérifier vos modifications.
DEFINE JOB_TITLE = "IT_PROG" (CHAR)
UNDEFINE job_title
DEFINE job_title
SP2-0135: symbol job_title is UNDEFINED
Utiliser la commande DEFINE
avec la variable de substitution &
Créez une variable de substitution à l'aide de la commande
DEFINE.
DEFINE employee_num = 200
Faites précéder la variable d'une esperluette (&) pour
remplacer la valeur dans l'instruction SQL.
SELECT employee_id, last_name, salary, department_id
FROM employees
WHERE employee_id = &employee_num ;
Utiliser la variable de substitution &&
Entrez une esperluette double (&&) si vous souhaitez
réutiliser la valeur de la variable sans interroger
l'utilisateur à chaque fois.
SELECT employee_id, last_name, job_id, &&column_name
FROM employees
ORDER BY &column_name;
…
Utiliser la commande VERIFY
Utilisez la commande VERIFY pour faire
basculer l'affichage de la variable de substitution
avant et après le remplacement des variables par
des valeurs.
SET VERIFY ON
SELECT employee_id, last_name, salary, department_id
FROM employees
WHERE employee_id = &employee_num;
old 3: WHERE employee_id = &employee_num
new 3: WHERE employee_id = 200
Personnaliser l'environnement
iSQL*Plus
Utilisez les commandes SET pour contrôler
la session en cours.
SET
SET system_variable
system_variable value
value
Vérifiez au moyen de la commande SHOW les
paramètres définis.
SET
SET ECHO
ECHO ON
ON
SHOW
SHOW ECHO
ECHO
echo
echo ON
ON
Variables de la commande SET
• ARRAYSIZE {20 | n}
• FEEDBACK {6 | n |OFF | ON}
• HEADING {OFF | ON}
• LONG {80 | n}| ON | text}
SET
SET HEADING
HEADING OFF
OFF
SHOW
SHOW HEADING
HEADING
HEADING
HEADING OFF
OFF
Commandes de mise en forme
d'iSQL*Plus
• COLUMN [column option]
• TTITLE [text | OFF | ON]
• BTITLE [text | OFF | ON]
• BREAK [ON report_element]
Commande COLUMN
Cette commande contrôle l'affichage d'une colonne :
COL[UMN]
COL[UMN] [{column|alias}
[{column|alias} [option]]
[option]]
CLE[AR] – Efface la mise en forme de la colonne
HEA[DING] text – Définit l'en-tête de colonne
FOR[MAT] format – Modifie le format d'affichage
d'une colonne en fonction d'un modèle
NOPRINT | PRINT
NULL
Utiliser la commande COLUMN
Créez des en-têtes de colonne.
COLUMN
COLUMN last_name
last_name HEADING
HEADING 'Employee|Name'
'Employee|Name'
COLUMN
COLUMN salary
salary JUSTIFY
JUSTIFY LEFT
LEFT FORMAT
FORMAT $99,990.00
$99,990.00
COLUMN
COLUMN manager
manager FORMAT
FORMAT 999999999
999999999 NULL
NULL 'No
'No manager'
manager'
• Affichez le paramétrage en cours de la colonne
LAST_NAME.
COLUMN
COLUMN last_name
last_name
• Annulez le paramétrage de la colonne LAST_NAME.
COLUMN
COLUMN last_name
last_name CLEAR
CLEAR
Modèles de format
pour la commande COLUMN
Elément Description Exemple Résultat
9 Suppression du zéro de 999999 1234
gauche
0
Affiche les zéros de tête 099999 001234
$
Signe dollar flottant $9999 $1234
L
Symbole monétaire local L9999 L1234
.
Position du signe décimal 9999.99 1234.00
,
Séparateur des milliers 9,999 1,234
Utiliser la commande BREAK
Utilisez la commande BREAK pour supprimer
les doublons.
BREAK
BREAK ON
ON job_id
job_id
Utiliser les commandes TTITLE et
BTITLE
- Affichez des en-têtes et pieds de pages.
TTI[TLE]
TTI[TLE] [text|OFF|ON]
[text|OFF|ON]
- Définissez un en-tête d'état.
TTITLE
TTITLE 'Salary|Report'
'Salary|Report'
- Définissez un pied de page d'état.
BTITLE
BTITLE 'Confidential'
'Confidential'
Créer un fichier script
pour exécuter un état
1. Créez et testez l'instruction SQL SELECT.
2. Enregistrez l'instruction SELECT dans un fichier script.
3. Chargez le fichier script dans un éditeur.
4. Ajoutez des commandes de mise en forme avant
l'instruction SELECT.
5. Vérifiez que l'instruction SELECT est suivie du
caractère de fin.
Créer un fichier script
pour exécuter un état
6. Effacez les commandes de mise en forme après
l'instruction SELECT.
7. Enregistrez le fichier script.
8. Chargez le fichier script dans la fenêtre de texte
d'iSQL*Plus, puis cliquez sur le bouton Execute.
Exemple d'état
…
Sample Report
…
Synthèse
Ce chapitre vous a permis d'apprendre à :
utiliser des variables de substitution iSQL*Plus
pour stocker temporairement des valeurs
utiliser des commandes SET pour contrôler
l'environnement iSQL*Plus en cours
utiliser la commande COLUMN pour contrôler
l'affichage d'une colonne
utiliser la commande BREAK pour supprimer les
doublons et répartir les lignes en sections
utiliser les commandes TTITLE et BTITLE pour
afficher des en-têtes et des pieds de page