Vous êtes sur la page 1sur 29

Mettre des rsultats en forme avec iSQL*Plus

Copyright Oracle Corporation, 2001. Tous droits rservs.

Objectifs

A la fin de ce chapitre, vous pourrez :

crer des interrogations ncessitant une variable de substitution personnaliser l'environnement iSQL*Plus afficher des rsultats plus lisibles crer et excuter des fichiers script

7-2

Copyright Oracle Corporation, 2001. Tous droits rservs.

Variables de substitution
Je souhaite interroger diffrentes valeurs.

... salary = ? department_id = ? ... last_name = ? ...

Utilisateur

7-3

Copyright Oracle Corporation, 2001. Tous droits rservs.

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-ttes et pieds de page.

7-4

Copyright Oracle Corporation, 2001. Tous droits rservs.

Utiliser la variable de substitution &


Pour inviter l'utilisateur entrer une valeur, utilisez une variable prcde d'une esperluette simple (&).
SELECT FROM WHERE employee_id, last_name, salary, department_id employees employee_id = &employee_num ;

7-5

Copyright Oracle Corporation, 2001. Tous droits rservs.

Utiliser la variable de substitution &

2
101

7-6

Copyright Oracle Corporation, 2001. Tous droits rservs.

Valeurs de type caractre et date dans les variables de substitution


Placez les valeurs de type caractre et date entre apostrophes.
SELECT last_name, department_id, salary*12 FROM employees WHERE job_id = '&job_title' ;

7-7

Copyright Oracle Corporation, 2001. Tous droits rservs.

Remplacer des noms de colonne, des expressions et du texte


Les variables de substitution peuvent tre utilises dans :

les conditions WHERE, les clauses ORDER BY, les expressions de colonne, les noms de table, les instructions SELECT.

7-8

Copyright Oracle Corporation, 2001. Tous droits rservs.

Remplacer des noms de colonne, des expressions et du texte


SELECT FROM WHERE ORDER BY employee_id, last_name, job_id, &column_name employees &condition &order_column ;

7-9

Copyright Oracle Corporation, 2001. Tous droits rservs.

Dfinir des variables de substitution

Vous pouvez prdfinir des variables l'aide de la commande DEFINE d'iSQL*Plus.


DEFINE variable = value cre une variable utilisateur dont le type de donnes est CHAR.

Si vous devez prdfinir une variable contenant des espaces, placez-la entre apostrophes lorsque vous utilisez la commande DEFINE. Vous pouvez utiliser une variable dfinie pour la session.

7-10

Copyright Oracle Corporation, 2001. Tous droits rservs.

Commandes DEFINE et UNDEFINE

Une variable reste dfinie jusqu' ce que vous :


utilisiez la commande UNDEFINE pour l'effacer, quittiez iSQL*Plus.

La commande DEFINE vous permet de vrifier vos modifications.

DEFINE job_title = IT_PROG DEFINE job_title DEFINE JOB_TITLE = "IT_PROG" (CHAR) UNDEFINE job_title DEFINE job_title SP2-0135: symbol job_title is UNDEFINED

7-11

Copyright Oracle Corporation, 2001. Tous droits rservs.

Utiliser la commande DEFINE avec la variable de substitution &



Crez une variable de substitution l'aide de la commande DEFINE. Faites prcder la variable d'une esperluette (&) pour remplacer la valeur dans l'instruction SQL.

DEFINE employee_num = 200

SELECT employee_id, last_name, salary, department_id FROM employees WHERE employee_id = &employee_num ;

7-12

Copyright Oracle Corporation, 2001. Tous droits rservs.

Utiliser la variable de substitution &&


Entrez une esperluette double (&&) si vous souhaitez rutiliser 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;

7-13 Copyright Oracle Corporation, 2001. Tous droits rservs.

Utiliser la commande VERIFY

Utilisez la commande VERIFY pour faire basculer l'affichage de la variable de substitution avant et aprs 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 new

3: WHERE 3: WHERE

employee_id = &employee_num employee_id = 200

7-14

Copyright Oracle Corporation, 2001. Tous droits rservs.

Personnaliser l'environnement iSQL*Plus

Utilisez les commandes SET pour contrler la session en cours.


SET system_variable value

Vrifiez au moyen de la commande SHOW les paramtres dfinis.

SET ECHO ON SHOW ECHO echo ON

7-15

Copyright Oracle Corporation, 2001. Tous droits rservs.

Variables de la commande SET

ARRAYSIZE FEEDBACK HEADING LONG

{20 | n} {6 | n |OFF | ON}

{OFF | ON}

{80 | n}| ON | text}

SET HEADING OFF SHOW HEADING HEADING OFF

7-16

Copyright Oracle Corporation, 2001. Tous droits rservs.

Commandes de mise en forme d'iSQL*Plus



COLUMN [column option] TTITLE [text | OFF | ON] BTITLE [text | OFF | ON] BREAK [ON report_element]

7-17

Copyright Oracle Corporation, 2001. Tous droits rservs.

Commande COLUMN

Cette commande contrle l'affichage d'une colonne :


COL[UMN] [{column|alias} [option]]

CLE[AR] Efface la mise en forme de la colonne HEA[DING] text Dfinit l'en-tte de colonne FOR[MAT] format Modifie le format d'affichage d'une colonne en fonction d'un modle NOPRINT | PRINT NULL

7-18

Copyright Oracle Corporation, 2001. Tous droits rservs.

Utiliser la commande COLUMN

Crez des en-ttes de colonne.


COLUMN last_name HEADING 'Employee|Name' COLUMN salary JUSTIFY LEFT FORMAT $99,990.00 COLUMN manager FORMAT 999999999 NULL 'No manager'

Affichez le paramtrage en cours de la colonne LAST_NAME.


COLUMN last_name

Annulez le paramtrage de la colonne LAST_NAME.


COLUMN last_name CLEAR

7-19

Copyright Oracle Corporation, 2001. Tous droits rservs.

Modles de format pour la commande COLUMN


Elment 9 Description Suppression du zro de gauche Affiche les zros de tte Signe dollar flottant Symbole montaire local Position du signe dcimal Sparateur des milliers Exemple 999999 Rsultat 1234

0 $ L . ,

099999 $9999 L9999 9999.99 9,999

001234 $1234 L1234 1234.00 1,234

7-20

Copyright Oracle Corporation, 2001. Tous droits rservs.

Utiliser la commande BREAK

Utilisez la commande BREAK pour supprimer les doublons.


BREAK ON job_id

7-21

Copyright Oracle Corporation, 2001. Tous droits rservs.

Utiliser les commandes TTITLE et BTITLE

Affichez des en-ttes et pieds de pages.

TTI[TLE] [text|OFF|ON]

Dfinissez un en-tte d'tat.

TTITLE 'Salary|Report'

Dfinissez un pied de page d'tat.

BTITLE 'Confidential'

7-22

Copyright Oracle Corporation, 2001. Tous droits rservs.

Using the TTITLE and BTITLE Commands

Display headers and footers.

TTI[TLE] [text|OFF|ON]

Set the report header.

TTITLE 'Salary|Report'

Set the report footer.

BTITLE 'Confidential'

7-23

Copyright Oracle Corporation, 2001. Tous droits rservs.

Exemple d'tat

7-24

Copyright Oracle Corporation, 2001. Tous droits rservs.

Synthse
Ce chapitre vous permis d'apprendre :

utiliser des variables de substitution iSQL*Plus pour stocker temporairement des valeurs utiliser des commandes SET pour contrler l'environnement iSQL*Plus en cours utiliser la commande COLUMN pour contrler l'affichage d'une colonne utiliser la commande BREAK pour supprimer les doublons et rpartir les lignes en sections utiliser les commandes TTITLE et BTITLE pour afficher des en-ttes et des pieds de page

7-25

Copyright Oracle Corporation, 2001. Tous droits rservs.

Prsentation de l'exercice 7

Dans cet exercice, vous allez :

crer une interrogation utilisant des variables de substitution pour afficher des valeurs, lancer un fichier de commandes contenant des variables.

7-26

Copyright Oracle Corporation, 2001. Tous droits rservs.

7-27

Copyright Oracle Corporation, 2001. Tous droits rservs.

7-28

Copyright Oracle Corporation, 2001. Tous droits rservs.

7-29

Copyright Oracle Corporation, 2001. Tous droits rservs.