Вы находитесь на странице: 1из 40

10

Mise en Forme des Rsultats avec SQL*Plus

Copyright Oracle Corporation, 1998. Tous droits rservs.

Objectifs
A la fin de ce chapitre, vous saurez : Crer des requtes ncessitant la saisie d'une variable Personnaliser l'environnement SQL*Plus

Afficher des rsultats formats


Crer et excuter des fichiers script Enregistrer les paramtres personnaliss
10-2
Copyright Oracle Corporation, 1998. Tous droits rservs.

Etats Interactifs
...sal = ? deptno = ? .. ename = ? ... Je voudrais saisir toutes les valeurs de la requte lors de l'excution.

Utilisateur
10-3
Copyright Oracle Corporation, 1998. Tous droits rservs.

Variables de Substitution
Les variables de substitution SQL*Plus permettent de stocker temporairement des valeurs
Simple "et commercial" (&) Double "et commercial" (&&) Commandes DEFINE et ACCEPT

Modification dynamique des en-ttes et pieds de page

10-4

Copyright Oracle Corporation, 1998. Tous droits rservs.

Utilisation de la Variable de Substitution &


Pour demander une valeur un utilisateur, utilisez une variable prfixe par un simple "et commercial" (&).
SQL> SELECT 2 FROM 3 WHERE empno, ename, sal, deptno emp empno = &employee_num;

Enter value for employee_num: 7369 EMPNO ENAME SAL DEPTNO --------- ---------- --------- --------7369 SMITH 800 20

10-5

Copyright Oracle Corporation, 1998. Tous droits rservs.

Utilisation de la Commande SET VERIFY


Affichage du texte de la commande avant et aprs que SQL*Plus remplace les variables de substitution par les valeurs.
SQL> SQL> 2 3 SET VERIFY ON SELECT empno, ename, sal, deptno FROM emp WHERE empno = &employee_num;

Enter value for employee_num: 7369 old 3: WHERE empno = &employee_num new 3: WHERE empno = 7369 ...

10-6

Copyright Oracle Corporation, 1998. Tous droits rservs.

Valeurs Caractres et Dates dans les Variables de Substitution


Placez les valeurs de type caractre et date entre simples quotes.
SQL> SELECT ename, deptno, sal*12 2 FROM emp 3 WHERE job='&job_title'; Enter value for job_title: ANALYST ENAME DEPTNO SAL*12 ---------- --------- --------SCOTT 20 36000 FORD 20 36000

10-7

Copyright Oracle Corporation, 1998. Tous droits rservs.

Spcification de Noms de Colonnes, d'Expressions et de Texte lors de l'Excution


Les variables de substitution peuvent remplacer : Une condition WHERE Une clause ORDER BY Un nom de colonne Un nom de table Une expression Un ordre SELECT
10-8
Copyright Oracle Corporation, 1998. Tous droits rservs.

Spcification de Noms de Colonnes, d'Expressions et de Texte lors de l'Excution


SQL> 2 3 4 SELECT FROM WHERE ORDER BY empno, ename, job, &column_name emp &condition &order_column;

Enter value for column_name: sal Enter value for condition: sal>=3000 Enter value for order_column: ename EMPNO --------7902 7839 7788
10-9

ENAME ---------FORD KING SCOTT

JOB SAL --------- --------ANALYST 3000 PRESIDENT 5000 ANALYST 3000

Copyright Oracle Corporation, 1998. Tous droits rservs.

Utilisation de la Variable de Substitution &&


Spcifiez un double "et commercial" (&&) si vous voulez rutiliser la valeur de la variable sans interroger l'utilisateur chaque fois.
SQL> SELECT 2 FROM 3 ORDER BY empno, ename, job, &&column_name emp &column_name;

Enter value for column_name: deptno EMPNO ENAME JOB DEPTNO --------- ---------- --------- --------7839 KING PRESIDENT 10 7782 CLARK MANAGER 10 7934 MILLER CLERK 10 ... 14 rows selected.
10-10
Copyright Oracle Corporation, 1998. Tous droits rservs.

Dfinition des Variables Utilisateur


Deux commandes SQL*Plus permettent de prdfinir des variables :
DEFINE : cre une variable utilisateur

de type CHAR
ACCEPT : lit la valeur saisie par

l'utilisateur et la stocke dans une variable


Si, avec la commande DEFINE, vous voulez spcifier comme valeur une chane de caractres contenant un ou plusieurs espaces, vous devez l'inclure entre simples quotes.
10-11
Copyright Oracle Corporation, 1998. Tous droits rservs.

La Commande ACCEPT
Affiche un message d'invite personnalis et rcupre la saisie de l'utillisateur

Permet un contrle du type de donne (CHAR, NUMBER ou DATE)


Peut masquer la valeur saisie par l'utilisateur des fins de confidentialit
ACCEPT variable [datatype] [FORMAT format] [PROMPT text] {HIDE}

10-12

Copyright Oracle Corporation, 1998. Tous droits rservs.

Utilisation de la Commande ACCEPT


ACCEPT SELECT FROM WHERE / dept PROMPT 'Provide the department name: ' * dept dname = UPPER('&dept')

Provide the department name: Sales DEPTNO DNAME LOC --------- -------------- ------------30 SALES CHICAGO

10-13

Copyright Oracle Corporation, 1998. Tous droits rservs.

Commandes DEFINE et UNDEFINE


Une variable reste dfinie jusqu' ce que vous excutiez l'une des actions suivantes :
Utiliser la commande UNDEFINE Quitter SQL*Plus

La commande DEFINE permet de lister les variables dfinies. Pour dfinir des variables rutilisables chaque session, modifiez le fichier login.sql afin de les crer au dmarrage de SQL*Plus.
10-14
Copyright Oracle Corporation, 1998. Tous droits rservs.

Utilisation de la Commande DEFINE


Crer une variable pour stocker le nom de dpartement.
SQL> DEFINE deptname = sales SQL> DEFINE deptname DEFINE DEPTNAME = "sales" (CHAR)

Utiliser la variable normalement.


SQL> SELECT * 2 FROM dept 3 WHERE dname = UPPER('&deptname');

10-15

Copyright Oracle Corporation, 1998. Tous droits rservs.

Personnalisation de l'Environnement SQL*Plus


Utilisez les commandes SET pour contrler la session courante.
SET system_variable value

Vrifiez les paramtres dfinis au moyen de la commande SHOW.


SQL> SET ECHO ON
SQL> SHOW ECHO echo ON

10-16

Copyright Oracle Corporation, 1998. Tous droits rservs.

Variables de la Commande SET


ARRAYSIZE {20 | n}
COLSEP {_ | text} FEEDBACK {6 | n |OFF | ON}

HEADING {OFF | ON}


LINESIZE {80 | n} LONG {80 | n} PAGESIZE {24 | n} PAUSE {OFF | ON | text}

TERMOUT {OFF | ON}


10-17
Copyright Oracle Corporation, 1998. Tous droits rservs.

Variables de la Commande SQL*Plus SET


La commande SET permet de valoriser des variables systme pour contrler l'environnement d'une session SQL*Plus. Les lments suivants sont contrls par des variables systme : Nombre de lignes blanches entre les enregistrements Nombre d'espaces entre les colonnes Caractres utiliss pour souligner les en-ttes de colonnes Valeur afficher pour les valeurs NULL
10-18
Copyright Oracle Corporation, 1998. Tous droits rservs.

Enregistrement d'une Configuration Personnalise dans le Fichier login.sql


Le fichier login.sql contient des commandes SET et d'autres commandes SQL*Plus qui s'excuteront lors de la connexion. Vous pouvez ajouter d'autres commandes SET au fichier login.sql.

10-19

Copyright Oracle Corporation, 1998. Tous droits rservs.

Commandes de Format SQL*Plus


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

10-20

Copyright Oracle Corporation, 1998. Tous droits rservs.

Commande COLUMN
Contrle l'affichage d'une colonne
COL[UMN] [{column|alias} [option]]

CLE[AR]Efface le formatage de la colonne FOR[MAT] formatModifie le format d'affichage d'une colonne en fonction d'un modle HEA[DING] textDfinit l'en-tte de colonne JUS[TIFY] {align}Cadre l'en-tte de colonne gauche, au centre ou droite
10-21
Copyright Oracle Corporation, 1998. Tous droits rservs.

Utilisation de la Commande COLUMN


Dfinir des en-ttes de colonnes.
COLUMN ename HEADING 'Employee|Name' FORMAT A15 COLUMN sal JUSTIFY LEFT FORMAT $99,990.00

Afficher le paramtrage courant de la colonne ENAME.


COLUMN ename

Effacer le paramtrage la colonne ENAME.


COLUMN ename CLEAR

10-22

Copyright Oracle Corporation, 1998. Tous droits rservs.

Modles de Format de la Commande COLUMN


Elment An 9 Description Dfinit une largeur de n Suppression du zro de gauche Affiche les zro de tte Signe dollar flottant Exemple a10 999999 Rsultat

1234

0 $

099999 $9999 L9999 9999.99 9,999

01234 $1234 L1234 1234.00 1,234

L
. ,
10-23

Symbole montaire local flottant


Position du point dcimal Sparateur des milliers

Copyright Oracle Corporation, 1998. Tous droits rservs.

Utilisation de la Commande BTITLE


SQL> BTITLE Confidential SQL> SELECT empno, ename, sal, mgr 2 FROM emp; EMPNO --------7839 ... 7876 7934 ENAME SAL MGR ---------- --------- --------KING 5000 NULL

ADAMS MILLER

1100 1300

7788 7782

Confidential 14 rows selected.

10-24

Copyright Oracle Corporation, 1998. Tous droits rservs.

Autres Options de la Commande COLUMN


Contrlez l'affichage des colonnes et des en-ttes
COL[UMN] [{column|alias} [option]]

NEW_VALUE Spcifie un nom de variable pour mmoriser le contenu d'une colonne

NOPRINT de la
10-25

Exclut des donnes


sortie imprime

Copyright Oracle Corporation, 1998. Tous droits rservs.

Utilisation de la Commande NEW_VALUE


COLUMN deptno NEW_VALUE deptnum FORMAT 99 TTITLE SKIP 1 CENTER 'Report for Dept:' deptnum SKIP 2 CENTER BREAK on deptno SKIP PAGE SELECT ename, mgr, deptno, sal FROM emp ORDER BY deptno /

10-26

Copyright Oracle Corporation, 1998. Tous droits rservs.

Utilisation des Commandes TTITLE et BTITLE


Affichage d'en-ttes et de pieds de pages
TTI[TLE] [text|OFF|ON]

Dfinition d'un en-tte d'tat


SQL> TTITLE 'Salary|Report'

Dfinition d'un pied de page d'tat


SQL> BTITLE 'Confidential'

10-27

Copyright Oracle Corporation, 1998. Tous droits rservs.

Utilisation des Variables de la Commande SET


SET NEWPAGE
SET NEWPAGE 3 SELECT empno, ename, mgr FROM emp /

EMPNO ENAME SAL MGR --------- ---------- --------- --------7839 KING 5000 7698 BLAKE 2850 7839 7782 CLARK 2450 7839 ... 14 rows selected.
10-28
Copyright Oracle Corporation, 1998. Tous droits rservs.

Utilisation de la Commande BREAK


Supprime les doublons et divise les lignes en sections Suppression des doublons
SQL> BREAK ON ename ON job

Production de totaux gnraux


SQL> BREAK ON report

Saut de ligne(s) ou de page au niveau des ruptures


SQL> BREAK ON ename SKIP 4 ON job SKIP2

10-29

Copyright Oracle Corporation, 1998. Tous droits rservs.

Cration d'un Fichier Script pour Excuter un Etat


1. Crez l'ordre SQL SELECT.
2. Enregistrez l'ordre SELECT dans un fichier script.

3. Chargez le fichier script dans un diteur.


4. Ajoutez des commandes de formatage avant l'ordre SELECT. 5. Vrifiez que l'ordre SELECT est suivi du caractre de terminaison.
10-30
Copyright Oracle Corporation, 1998. Tous droits rservs.

Cration d'un Fichier Script pour Excuter un Etat


6. Effacez les dfinitions de formatage aprs l'ordre SELECT.
7. Enregistrez le fichier script.

8. Entrez "START filename" pour excuter le script.

10-31

Copyright Oracle Corporation, 1998. Tous droits rservs.

Utilisation de la Commande CLEAR


Utilisez cette commande pour rtablir les valeurs par dfaut des attributs d'affichage des colonnes et des en-ttes.
SQL> COLUMN deptno CLEAR SQL> COLUMN dname CLEAR SQL> CLEAR BREAK

10-32

Copyright Oracle Corporation, 1998. Tous droits rservs.

Commande COMPUTE
Calcule et affiche les lignes de totaux
COMP[UTE] [function [LABEL labelname] OF {expr|column|alias} ON {expr|column|alias|REPORT|FORM}]

Utilise diffrents calculs standard, notamment :


AVG

COUNT
MAXIMUM MINIMUM
10-33
Copyright Oracle Corporation, 1998. Tous droits rservs.

Utilisation de la Commande COMPUTE


BREAK ON JOB SKIP 1 COMPUTE SUM OF sal ON job SELECT job, ename, sal FROM emp WHERE job IN ('CLERK', 'ANALYST', 'SALESMAN') ORDER BY job, sal / JOB ENAME SAL --------- ---------- --------ANALYST FORD 3000 SCOTT 3000 ********* --------sum 6000 CLERK SMITH 10 rows selected.
10-34

800

Copyright Oracle Corporation, 1998. Tous droits rservs.

Utilisation de l'Option BREAK avec COMPUTE


BREAK ON deptno SKIP 2 COMPUTE MAX OF sal ON deptno SELECT deptno, ename, sal FROM emp WHERE job IN ('CLERK', 'ANALYST', 'SALESMAN') ORDER BY deptno, sal /

DEPTNO ENAME SAL --------- ---------- --------10 MILLER 1300 ********* --------maximum 1300

20 SMITH ADAMS 10 rows selected.


10-35

800 1100

Copyright Oracle Corporation, 1998. Tous droits rservs.

Etat Simple
Fri Oct 24 Employee Report Job Category ----------------------CLERK CLERK CLERK CLERK MANAGER MANAGER MANAGER SALESMAN SALESMAN SALESMAN SALESMAN page 1

Employee Salary ----------------------- ----------------ADAMS $1,100.00 JAMES $950.00 MILLER $1,300.00 SMITH $800.00 BLAKE $2,850.00 CLARK $2,450.00 JONES $2,975.00 ALLEN $1,600.00 MARTIN $1,250.00 TURNER $1,500.00 WARD $1,250.00

Confidential
10-36
Copyright Oracle Corporation, 1998. Tous droits rservs.

Exemple avec Calculs


BREAK ON deptno SKIP 2 COMPUTE MAX LABEL Max_Sal OF sal ON deptno SELECT deptno, ename, sal FROM emp WHERE job IN ('CLERK', 'ANALYST', 'SALESMAN') ORDER BY deptno, sal / DEPTNO --------10 ********* Max_Sal ENAME ---------MILLER SAL --------1300 --------1300

20

SMITH

800

10 rows selected.
10-37
Copyright Oracle Corporation, 1998. Tous droits rservs.

Exemple avec Calculs


1 COLUMN job NOPRINT NEW_VALUE jobname FORMAT A9 2 TTITLE SKIP 1 CENTER 'Salaries for' SKIP 1 CENTER jobname SKIP 2 3 BREAK on job SKIP PAGE COMPUTE AVG LABEL '' OF sal ON job 4 5 BTITLE 'Top Secret' SELECT job, ename, hiredate, sal 6 FROM emp ORDER BY job, sal /

10-38

Copyright Oracle Corporation, 1998. Tous droits rservs.

Rsum
Utiliser les variables de substitution SQL*Plus pour stocker des valeurs Utiliser les commandes SET pour contrler l'environnement SQL*Plus

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 TTITLE et BTITLE pour afficher des en-ttes et des pieds de page
10-39
Copyright Oracle Corporation, 1998. Tous droits rservs.

Prsentation des Exercices


Cration d'une requte utilisant des variables de substitution Lancement d'un fichier de commande contenant des variables Utilisation de la commande ACCEPT

10-40

Copyright Oracle Corporation, 1998. Tous droits rservs.

Вам также может понравиться

  • 18 FR
    18 FR
    Документ11 страниц
    18 FR
    Hayat Errifi
    Оценок пока нет
  • 09 FR
    09 FR
    Документ12 страниц
    09 FR
    Hayat Errifi
    Оценок пока нет
  • LMD Et Cotr - Trans
    LMD Et Cotr - Trans
    Документ39 страниц
    LMD Et Cotr - Trans
    Hayat Errifi
    Оценок пока нет
  • 08 FR
    08 FR
    Документ13 страниц
    08 FR
    kamalessahibi
    Оценок пока нет
  • 11 FR
    11 FR
    Документ15 страниц
    11 FR
    Hayat Errifi
    Оценок пока нет
  • 02 FR
    02 FR
    Документ27 страниц
    02 FR
    Hayat Errifi
    Оценок пока нет
  • Sequences Index16
    Sequences Index16
    Документ24 страницы
    Sequences Index16
    Hayat Errifi
    Оценок пока нет
  • 01 FR
    01 FR
    Документ28 страниц
    01 FR
    Hayat Errifi
    Оценок пока нет
  • Mach Master Chp.1 Intro - Mach.elec.
    Mach Master Chp.1 Intro - Mach.elec.
    Документ82 страницы
    Mach Master Chp.1 Intro - Mach.elec.
    Hayat Errifi
    100% (1)
  • TD2 Rtel
    TD2 Rtel
    Документ4 страницы
    TD2 Rtel
    Hayat Errifi
    Оценок пока нет
  • TD2 Rtel
    TD2 Rtel
    Документ4 страницы
    TD2 Rtel
    Hayat Errifi
    Оценок пока нет
  • Diapositive Comportement Du Consommateur
    Diapositive Comportement Du Consommateur
    Документ8 страниц
    Diapositive Comportement Du Consommateur
    Hayat Errifi
    Оценок пока нет
  • Diapositive Politique Du Prix
    Diapositive Politique Du Prix
    Документ31 страница
    Diapositive Politique Du Prix
    Hayat Errifi
    Оценок пока нет
  • Fstm-Réseaux Haut Débit-1-Introduction
    Fstm-Réseaux Haut Débit-1-Introduction
    Документ39 страниц
    Fstm-Réseaux Haut Débit-1-Introduction
    Hayat Errifi
    Оценок пока нет
  • Marketing Direct
    Marketing Direct
    Документ32 страницы
    Marketing Direct
    Hayat Errifi
    Оценок пока нет
  • Marketing Direct
    Marketing Direct
    Документ17 страниц
    Marketing Direct
    Hayat Errifi
    Оценок пока нет
  • Cours de Marketing
    Cours de Marketing
    Документ76 страниц
    Cours de Marketing
    Marouane
    100% (10)
  • Online Et Mobile Marketing
    Online Et Mobile Marketing
    Документ61 страница
    Online Et Mobile Marketing
    Hayat Errifi
    Оценок пока нет
  • Theories Des Bases de Donnees 4 - 2023
    Theories Des Bases de Donnees 4 - 2023
    Документ119 страниц
    Theories Des Bases de Donnees 4 - 2023
    Kevin Irambona
    Оценок пока нет
  • Chap1-Introduction - Aux BDR PDF
    Chap1-Introduction - Aux BDR PDF
    Документ32 страницы
    Chap1-Introduction - Aux BDR PDF
    Djibril Ngom
    Оценок пока нет
  • Bases de Données ING 1 MySQL Cours Et TP 01
    Bases de Données ING 1 MySQL Cours Et TP 01
    Документ19 страниц
    Bases de Données ING 1 MySQL Cours Et TP 01
    baybaysalah
    Оценок пока нет
  • Memento - Rappel PHP
    Memento - Rappel PHP
    Документ7 страниц
    Memento - Rappel PHP
    Meghan PHOMMACHANH
    Оценок пока нет
  • Entrepots
    Entrepots
    Документ43 страницы
    Entrepots
    Tim Stelens Seka
    100% (1)
  • Chap 1 - DB PDF
    Chap 1 - DB PDF
    Документ30 страниц
    Chap 1 - DB PDF
    GhâïTh RâhàLï
    Оценок пока нет
  • Sujet
    Sujet
    Документ4 страницы
    Sujet
    Vivien Vivien
    Оценок пока нет
  • Base de Données Relationnelle Avec Exemple
    Base de Données Relationnelle Avec Exemple
    Документ12 страниц
    Base de Données Relationnelle Avec Exemple
    dhouha boubdellaha
    Оценок пока нет
  • JLH A Exercices Resolus PDF
    JLH A Exercices Resolus PDF
    Документ128 страниц
    JLH A Exercices Resolus PDF
    hanaaaaaaaaae
    Оценок пока нет
  • 4 Relationnels
    4 Relationnels
    Документ15 страниц
    4 Relationnels
    Safa Zehi
    Оценок пока нет
  • TD DE BASE DE DONNEEs
    TD DE BASE DE DONNEEs
    Документ5 страниц
    TD DE BASE DE DONNEEs
    test
    Оценок пока нет
  • Exemple de Script SQL Server de Création de Table Des Ventes
    Exemple de Script SQL Server de Création de Table Des Ventes
    Документ7 страниц
    Exemple de Script SQL Server de Création de Table Des Ventes
    didier_o
    Оценок пока нет
  • Base de Données
    Base de Données
    Документ52 страницы
    Base de Données
    JEMO Alain
    Оценок пока нет
  • Devoir 3LIFG 2019 CORR
    Devoir 3LIFG 2019 CORR
    Документ5 страниц
    Devoir 3LIFG 2019 CORR
    Sirine Ouerhani
    Оценок пока нет
  • JDBC 4p
    JDBC 4p
    Документ13 страниц
    JDBC 4p
    karim boussakri
    Оценок пока нет
  • Bases de Donn+®es Distribu+®es
    Bases de Donn+®es Distribu+®es
    Документ10 страниц
    Bases de Donn+®es Distribu+®es
    zaki nygma
    Оценок пока нет
  • Cours Python My SQL
    Cours Python My SQL
    Документ39 страниц
    Cours Python My SQL
    samsoum1
    Оценок пока нет
  • Cours Les Curseurs
    Cours Les Curseurs
    Документ18 страниц
    Cours Les Curseurs
    mariam
    Оценок пока нет
  • 3 TD3
    3 TD3
    Документ4 страницы
    3 TD3
    Musta Ya
    100% (1)
  • Chap 3
    Chap 3
    Документ33 страницы
    Chap 3
    mohamed lamine hamrit
    Оценок пока нет
  • CoursJEE-PrBelangour Chapitre4
    CoursJEE-PrBelangour Chapitre4
    Документ14 страниц
    CoursJEE-PrBelangour Chapitre4
    Chafiq&F DNS
    Оценок пока нет
  • Oracle SQL PDF
    Oracle SQL PDF
    Документ55 страниц
    Oracle SQL PDF
    Yahya Elamrani
    Оценок пока нет
  • Bases de Données - Exercices Corrigés (Tchi Drive)
    Bases de Données - Exercices Corrigés (Tchi Drive)
    Документ21 страница
    Bases de Données - Exercices Corrigés (Tchi Drive)
    Nadou She
    Оценок пока нет
  • 3 TD1
    3 TD1
    Документ5 страниц
    3 TD1
    Musta Ya
    Оценок пока нет
  • Architecture Oracle
    Architecture Oracle
    Документ37 страниц
    Architecture Oracle
    abde lali dox
    Оценок пока нет
  • JLH A Exercices Resolus PDF
    JLH A Exercices Resolus PDF
    Документ132 страницы
    JLH A Exercices Resolus PDF
    Vivo Vivoo VI
    100% (1)
  • TP 3 Seq Vue Syn Trans 2022
    TP 3 Seq Vue Syn Trans 2022
    Документ7 страниц
    TP 3 Seq Vue Syn Trans 2022
    Bouaddis Houda
    Оценок пока нет
  • PL SQL Partie 5 Proc Func Pack 2020
    PL SQL Partie 5 Proc Func Pack 2020
    Документ28 страниц
    PL SQL Partie 5 Proc Func Pack 2020
    Abdou Sadik
    Оценок пока нет
  • Introduction À: Hiver 2020
    Introduction À: Hiver 2020
    Документ39 страниц
    Introduction À: Hiver 2020
    supermont cmr
    Оценок пока нет
  • Les Vues Et Les Declencheurs
    Les Vues Et Les Declencheurs
    Документ15 страниц
    Les Vues Et Les Declencheurs
    Hadjer m
    Оценок пока нет