Vous êtes sur la page 1sur 7

Enseignante : Bachtarzi C

Filière : licence professionnelle système d’information Module : Oracle


Niveau : 2ème année Chapitre II
L’Outil SQL*PLUS
1) Introduction
SQL*Plus est un outil Oracle possédant son propre langage de commande qui reconnaît les
instructions SQL et les renvoie au serveur Oracle pour exécution. Alors que les ordres SQL
sont adressés à la base, les commandes SQL*Plus servent à gérer l’affichage et la présentation
des ordres SQL dans un environnement de travail plus convivial.
SQL*Plus permet de :
• Exécuter de façon interactive des ordres SQL
• Exécuter des instructions SQL provenant de fichiers
• Accéder à une base de données locale ou distante
• Présenter les résultats des requêtes SQL sous forme d’états élémentaires
• Offrir un éditeur en mode commande permettant la modification des instructions SQL
Présentation :
• Se connecter à SQL*Plus
• Afficher la structure d’une table
• Traiter une instruction SQL
• Exécuter du code SQL à partir de SQL*Plus
• Enregistrer et ajouter des instructions SQL dans des fichiers.
2) Modes de connexion
On peut se connecter à SQL*Plus de deux façons :
2.1) Connexion en mode administration :
Afin de créer, démarrer, arrêter et restaurer une base de données, il faut plus de pouvoirs
qu’une simple utilisation. Oracle nécessite l’une des deux conditions suivantes :
• Etre un utilisateur Oracle ayant reçu les privilèges SYSDBA et SYSOPER : ces deux
privilèges permettent de se connecter à Oracle avec plus de pouvoirs.
• SYSOPER : permet à un utilisateur de démarrer et d’arrêter une base sans être DBA
• SYSDBA : permet à un utilisateur de démarrer et d’arrêter une base en tant que rôle
DBA. C’est le privilège le plus puissant pour un utilisateur.
2.2) Connexion en mode utilisation
Pour une simple utilisation de la base il est possible de se connecter à partir d’un
environnement Windows ou bien depuis une ligne de commande :

1
Enseignante : Bachtarzi C
Filière : licence professionnelle système d’information Module : Oracle
Niveau : 2ème année Chapitre II
Connexion depuis un environnement Windows :

Nom de la base

Connexion depuis une ligne de commande :


Sqlplus [username[/password][@database]]]
La commande EXIT permet de sortir de SQL*Plus
3) Les commandes d’édition SQL*Plus :
Les commandes SQL*Plus sont saisies ligne par ligne et ne son pas stockées dans la mémoire
tampon SQL.
Remarques :
• L’utilisateur ne peut entrer qu’une seule commande SQL*Plus par invite SQL. Les
commandes SQL*Plus ne sont pas stockées dans la mémoire tampon. Pour poursuivre la
saisie sur la ligne suivante, entrer un tiret (-) à la fin de la première ligne.
• Pour terminer une saisie dans la mémoire tampon SQL entrer un caractère de fin ( ; ou /)
ou appuyer deux fois sur la touche (Entrée). L’invite SQL s’affiche.
4) Les commandes de fichiers SQL*Plus :
4.1) Création d’un fichier de commande :
La commande EDIT appelle l’éditeur et enregistre le contenu de la mémoire tampon dans un
fichier appelé afiedit.buf
Syntaxe de la commande : ED[IT]
ED[IT] [nomfichier[.ext]] : appelle l’éditeur en vue d’éditer le contenu d’un fichier
enregistré.
4.2) Sauvegarde d’un fichier :
La commande SAVE enregistre le contenu actuel de la mémoire tampon SQL dans un fichier.
Si on utilise la commande APPEND, on rajoute ce contenu à un fichier.
Si on utilise la commande REPLACE, on remplace le contenu d’un fichier existant par le
contenu de la mémoire tampon.

2
Enseignante : Bachtarzi C
Filière : licence professionnelle système d’information Module : Oracle
Niveau : 2ème année Chapitre II
L’extension par défaut est .sql
Syntaxe de la commande : SAV[E] nomfichier [.ext] [REP[LACE] APP[END]]
4.3) Ouverture d’un fichier
La commande GET permet d’écrire dans la mémoire tampon SQL le contenu d’un fichier
précédemment enregistré (extension par défaut .sql)
Syntaxe de la commande : GET nomfichier [.ext]
4.4) Exécution d’un fichier de commandes :
Cette opération se fait par l’une ou l’autre des commandes suivantes :
STA[RT] nomfichier [.ext] ou @nomfichier
4.5) Stockage des résultats :
La commande SPOOL permet de stocker les résultats des interrogations dan un fichier. OFF
ferme le fichier spool. OUT ferme le fichier spool et envoie les résultats qu’il contient vers
l’imprimante système.
Syntaxe : SPO[OL] [nomfichier [.ext] | OFF | OUT]
4.6) Quitter SQL*Plus
La commande EXIT permet de quitter SQL*Plus
Syntaxe : EXIT
5) Description de la structure des tables et des vues :
Cette commande de SQL*Plus peut s’avérer très utile ; elle affiche le nom et le type de
données des colonnes et indique si elles doivent contenir des données ou non.
Syntaxe : DESC[RIBE] Nom de table (nom d’une table ou d’une vue)
Le résultat indique pour chaque colonne de la table, si elle doit obligatoirement ou non
contenir des données (colonne NULL ? ) et le type de données de la colonne.
Exemple :
SQL> DESC employe
Name Null ? Type
Cod-emp Not Null Number(4)
Nom-emp Varchar2 (15)
Cod-poste Varvhar2 (10)
Date-naiss Date
Salaire Number (7.2)
Cod-dept Number (2)

3
Enseignante : Bachtarzi C
Filière : licence professionnelle système d’information Module : Oracle
Niveau : 2ème année Chapitre II

Tableau comparatif de SQL et SQL*Plus

SQL SQL*Plus
Langage : permet la communication avec le Environnement doté d’une interface : il
serveur Oracle pour l’accès aux données reconnaît les instructions SQL et les envoie au
serveur
Langage conforme à la norme ANSI Produit propriétaire Oracle
Manipule les données et permet la Ses commandes ne permettent pas de manipuler
définition des tables de la base de données les valeurs des données de la base
Saisie dans la mémoire tampon SQL sur Saisie ligne par ligne
une ou plusieurs lignes Pas de stockage dans la mémoire tampon SQL
Abréviation des mots-clés impossible Abréviation des mots-clés possible
Pas de caractère de suite Présente un tiret (-) comme caractère de suite si
la commande dépasse une ligne
Utilise un caractère de fin pour exécuter Pas de caractère de fin, exécute immédiatement
immédiatement la commande ( ; ou /) les commandes

6) Mise en forme des résultats


SQL*Plus dispose de commandes permettant la mise en forme des résultats :
TTITLE : permet d’afficher un titre avant chaque ordre SQL. Le titre peut être aligné à
gauche, à droite ou au milieu. On peut aussi utiliser les polices de caractères gras, italique,
souligné,….
--TEXTE : permet d’inclure des commentaires d’au maximum une ligne dans les ordres SQL
/* TEXTE*/ : commentaire sur plusieurs lignes.
SKIP1 : saute une ligne
Le caractère « - » en fin de ligne indique que le titre continue.
Exemple :
SQL> TTITLE LEFT ‘******************’ SKIP1 –
> LEFT ‘Employés et Salaires ’ SKIP1 –
> LEFT ‘*********************’
SQL>SELECT nom-emp, salaire
FROM employe
WHERE numdep=10
*****************************
Employés et Salaires
*****************************
Nom-emp Salaire

4
Enseignante : Bachtarzi C
Filière : licence professionnelle système d’information Module : Oracle
Niveau : 2ème année Chapitre II
Omar 25000
Mohammed 30000
Fatima 15000
TTITLE ‘’ : annule l’affichage d’un titre pour les prochains ordres SQL.
Commandes de mise en forme :

 TTI[TLE] : affichage d’un en-tête dans la partie supérieure de chacune


des pages d’état.
 BTI[TLE] : indique l’affichage d’un pied de page dans la partie
inférieure de chacune des pages de l’état.
 BRE[AK] :supprime les doublons et répartit les lignes de données en
sections à l’aide de sauts de ligne.
 COL[UMN] : contrôle les formats de colonne.

 La commande TTITLE :
TTI[TLE] [text/ON/OFF]
Text: le texte du titre. S’il se compose de plusieurs mots, placez-le entre apostrophes.
ON/OFF : active / désactive le texte.
Exemple : TTITLE ‘salaire| rapport’

On obtient : salaire
rapport

TTITLE affiche automatiquement la date et le numéro de page.

 La commande BTITLE :
BTI[TLE] [text/ON/OFF]

Exemple: BTITLE confidentiel

 La commande BREAK:
BRE[AK] ON colonne [/alias/ROW]
Exemple: BREAK ON job
CLEAR BREAK: efface les paramètres de BREAK.

SELECT deptno,empname,salaire
FROM employe
WHERE salaire >200
ORDER BY deptno;

BREAK ON deptno  évite les répétitions


BREAK ON deptno SKIP 1  saute 1 ligne quand la valeur de coupure change.

 La commande COLUMN :
COL[UMN] [colonne / alias [option]]

Option : est l’une des

5
Enseignante : Bachtarzi C
Filière : licence professionnelle système d’information Module : Oracle
Niveau : 2ème année Chapitre II

Option Description
CLE[AR] Efface la mise en forme de la colonne

HEA[DING] text Définit l’en tête de colonne. Le caractère (|)


force le changement de ligne dans l’en tête
FOR[MAT] format Modifie l’affichage des données de la
colonne
NOPRI[NT] Masque la colonne

NUL[L] Indique le texte à afficher pour les valeurs


null
PRI[NT] Affiche la colonne

Pour créer une entête de colonne : COLUMN empname HEADING ‘employé|nom’

COLUMN salaire LEFT FORMAT $99,990.00


COLUMN manager FORMAT 999999999 NULL ‘pas de manager’
COLUMN empname FORMAT a8

Pour afficher le paramétrage en cours d’une colonne : COLUMN empname


Pour annuler le paramétrage d’une colonne : COLUMN empname CLEAR
Pour afficher le paramétrage en cours de toutes les colonnes : COLUMN
Pour effacer le paramétrage de toutes les colonnes : CLEAR COLUMN

Elément Description Exemple Résultat


9 Suppression du zéro de gauche 999999 1234
0 Affiche les zéros de tête 099999 001234

$ Signe dollar flottant $9999 $1234


. Position du signe décimal 9999.99 1234.00
, Séparateur des milliers 9,999 1,234

La commande SET : permet de contrôler la session en cours


SET variable_système valeur

SET ECHO ON/OFF : cache le texte de l’ordre SQL avant leur exécution.
SET ECHO ON
SHOW ECHO
 Echo on
SET TIMING ON/OFF : mesure la durée d’exécution des ordres SQL (en millisecondes)

6
Enseignante : Bachtarzi C
Filière : licence professionnelle système d’information Module : Oracle
Niveau : 2ème année Chapitre II

SET FEEDBACK ON/OFF : affiche le nombre d’enregistrements dès que le nombre


d’enregistrements renvoyés est supérieur à 5.
SET UNDERLINE = /’-‘ /ON/OFF: changer le caractère pour souligner les textes.

SHOW ALL : pour vérifier toutes les valeurs de variables définies à l’aide de la commande
SET
SET VERIFY ON/OFF : permet de faire basculer l’affichage de la variable de substitution
avant et après le remplacement des variables.
Old 3 : where empno = &employe_num
New 3: where empno = 200

Conclusion :
SQL*Plus est l’interface privilégiée pour éditer, enregistrer et exécuter des ordres SQL,
interagir avec des fichiers script et mettre en forme les résultats.

Vous aimerez peut-être aussi