SQL pour Oracle 10g

Transcription

SQL pour Oracle 10g
SQL pour
Oracle 10g
Ce fac-similé présente la table des matières,
le préambule et le début du module 2
Auteur
Razvan Bizoi
GUIDE DE FORMATION
La marque © TSOFT est une marque déposée.
La collection des guides de formation © TSOFT est éditée par la société TSOFT.
Toutes les marques citées dans cet ouvrage sont des marques déposées par leurs propriétaires respectifs
Tous les efforts ont été faits par TSOFT pour fournir dans cet ouvrage une information claire et exacte à
la date de parution. TSOFT n’assume de responsabilités, ni pour son utilisation, ni pour les contrefaçons
de brevets ou atteintes de tierces personnes qui pourraient résulter de cette utilisation.
Guide de formation TSOFT
SQL pour Oracle 10g
Référence : TS0075
novembre 2006
©TSOFT, Paris 2006
Toute représentation ou reproduction intégrale ou partielle faite sans le consentement de l’auteur ou de
ses ayants droit ou ayants cause est illicite selon le Code de la propriété intellectuelle (Art L 122-4) et
constitue une contrefaçon réprimée par le Code pénal. Seules sont autorisées (Art 122-5) les copies ou
reproductions strictement réservées à l’usage privé du copiste et non destinées à une utilisation collective,
ainsi que les analyses et courtes citations justifiées par le caractère critique, pédagogique ou d’information
de l’œuvre à laquelle elles sont incorporées, sous réserve, toutefois, du respect des dispositions des
articles L122-10 à L122-12 du même Code relatives à la reproduction par reprographie.
Avant-propos
Oracle est le système de base de données le plus utilisé au monde. Il fonctionne de
façon relativement identique sur tout type d'ordinateur. Ce qui fait que les
connaissances acquises sur une plate-forme sont utilisables sur une autre et que les
utilisateurs et développeurs Oracle expérimentés constituent une ressource très
demandée.
L'objectif de ce livre est de vous aider à apprendre et maîtriser le langage SQL que
vous pratiquerez avec les bases de données Oracle, dans sa version gratuite mise à
disposition par Oracle. L'ouvrage présente aussi l'ensemble des concepts et des
mécanismes nécessaires au développement et à l'administration d'applications dans le
contexte d'Oracle 10g.
Pour une bonne compréhension de l'ouvrage, il est souhaitable que le lecteur ait une
connaissance suffisante du modèle relationnel et qu'il maîtrise un langage de
programmation.
Un autre ouvrage du même auteur traite du langage procédural PL/SQL, ces deux
ouvrages vous permettront de préparer les examens de certification Oracle :
« 1Z0-007 » Introduction to Oracle9i : SQL® (ou la version 10g lorsque
l’examen sera disponible ce qu’il n’est pas encore à la parution de cet ouvrage)
« 1Z0-001 » Introduction to Oracle: SQL® and PL/SQL™
« 1Z0-147 » Program with PL/SQL
L'auteur vise surtout à être plus clair et plus agréable à lire que les documentations
techniques, exhaustives et nécessaires mais ingrates, dans lesquelles vous pourrez
toujours vous plonger ultérieurement. Par ailleurs, l'auteur a aussi voulu éviter de ne
fournir qu'une collection supplémentaire de "trucs et astuces", mais plutôt expliquer
les concepts et les mécanismes avant d'indiquer les procédures pratiques.
Dans la mesure où l'on dispose du matériel informatique nécessaire, il est important
d’installer Oracle Database 10g Express Edition et SQL Developer, deux outils livrés
gratuitement par Oracle. La démarche d’installation et la mise en place de la base de
données des ateliers sont détaillées dans les deux premiers modules. L’ensemble des
© Tsoft – SQL pour Oracle10g
travaux pratiques, qui sont indispensables à l'acquisition d'une compétence réelle, a été
conçu dans cette configuration.
Les ateliers de fin de chapitre contiennent des QCM dont vous pourrez trouver les
corrigés sur le site de l'éditeur www.Tsoft.fr. Pour télécharger le fichier des corrigés,
tapez le code TS0075 dans le champ <RECHERCHE> de la page d’accueil du site,
puis appuyez sur
. Vous accéderez ainsi à la fiche de l’ouvrage, sous l’onglet
Téléchargement se trouve un lien vers le fichier à télécharger, corrigés QCM.
© Tsoft – SQL pour Oracle10g
Table
des matières
PRÉAMBULE ..................................................................................................
MODULE 1 : PRÉSENTATION DE L’ENVIRONNEMENT ..................................... 1-1
Qu'est-ce qu'une base de données ? .......................................................................................1-2
Objets de la base de données .................................................................................................1-3
Structure du stockage des données ........................................................................................1-8
Table ......................................................................................................................................1-9
Intégrité d'une base de données ...........................................................................................1-10
Le langage SQL ...................................................................................................................1-12
Les limites de SQL ..............................................................................................................1-14
Le langage PL/SQL .............................................................................................................1-15
Architecture Client-Serveur.................................................................................................1-17
Le processus de connexion ..................................................................................................1-18
La configuration du client ...................................................................................................1-20
Assistant de configuration Oracle Net.................................................................................1-23
Oracle Database 10g Express Edition .................................................................................1-26
La préparation de l’installation............................................................................................1-27
Le paramétrage du système .................................................................................................1-29
L’installation........................................................................................................................1-32
Les tâches post-installation..................................................................................................1-34
Atelier 1 ...............................................................................................................................1-37
MODULE 2 : LES OUTILS SQL*PLUS .......................................................... 2-1
Qu'est-ce que SQL*Plus ? .....................................................................................................2-2
Environnement SQL*Plus .....................................................................................................2-4
Environnement SQL*Plus (Suite) .........................................................................................2-5
© Tsoft – SQL pour Oracle10g
T-1
Table des matières
Commandes SQL*Plus .........................................................................................................2-6
Commandes SQL*Plus (Suite)............................................................................................2-10
Commandes SQL*Plus (Suite)............................................................................................2-14
Commandes SQL*Plus (Suite)............................................................................................2-16
Commandes SQL*Plus (Suite)............................................................................................2-18
Variables..............................................................................................................................2-19
SQL*Plus Worksheet ..........................................................................................................2-23
iSQL*Plus ...........................................................................................................................2-25
iSQL*Plus ...........................................................................................................................2-26
Variables et iSQL*Plus .......................................................................................................2-28
Oracle SQL Developer ........................................................................................................2-31
SQL Developer....................................................................................................................2-35
Le schéma des ateliers.........................................................................................................2-37
Atelier 2...............................................................................................................................2-39
MODULE 3 : INTERROGATION DES DONNÉES ................................................3-1
Grammaire SQL ....................................................................................................................3-2
Projection ..............................................................................................................................3-3
Les constantes .......................................................................................................................3-6
Atelier 3.1..............................................................................................................................3-8
Opérateur de concaténation .................................................................................................3-10
Opérateurs arithmétiques.....................................................................................................3-11
Opérateurs de type DATE ...................................................................................................3-13
La valeur NULL ..................................................................................................................3-14
Le traitement de la valeur NULL ........................................................................................3-15
Atelier 3.2............................................................................................................................3-16
Tri du résultat d'une requête ................................................................................................3-18
La pseudocolonne ROWNUM ............................................................................................3-22
Table DUAL........................................................................................................................3-23
Atelier 3.3............................................................................................................................3-25
MODULE 4 : LES
OPÉRATEURS LOGIQUES ..................................................4-1
La sélection ou restriction .....................................................................................................4-2
L’opérateur égal à..................................................................................................................4-3
Les opérateurs logiques.........................................................................................................4-5
L’opérateur différent de ........................................................................................................4-8
L’opérateur LIKE..................................................................................................................4-9
La fonction REGEXP_LIKE...............................................................................................4-11
L’opérateur IS NULL..........................................................................................................4-15
Atelier 4.1............................................................................................................................4-16
T-2
© Tsoft – SQL pour Oracle10g
Table des matières
L’opérateur BETWEEN ......................................................................................................4-18
L’opérateur IN .....................................................................................................................4-19
Les opérateurs logiques .......................................................................................................4-20
L’opérateur AND.................................................................................................................4-22
L’opérateur OR....................................................................................................................4-24
L’opérateur NOT .................................................................................................................4-27
Atelier 4.2 ............................................................................................................................4-29
MODULE 5 : LES CHAÎNES DE CARACTÈRES ................................................ 5-1
Expression SQL.....................................................................................................................5-2
Types chaîne de caractères ....................................................................................................5-3
Majuscules / Minuscules .......................................................................................................5-5
Manipulation de chaînes........................................................................................................5-6
Remplissage de chaînes .........................................................................................................5-7
Nettoyage de chaînes .............................................................................................................5-9
Extraire une sous chaîne ......................................................................................................5-11
Recherche dans la chaîne.....................................................................................................5-13
Rechercher et remplacer ......................................................................................................5-16
Traduction de chaînes..........................................................................................................5-19
Autres ..................................................................................................................................5-20
Atelier 5 ...............................................................................................................................5-22
MODULE 6 : LES FONCTIONS NUMÉRIQUES ................................................. 6-1
Types numériques..................................................................................................................6-2
Fonctions de contrôle ............................................................................................................6-5
Fonctions de calcul arithmétique...........................................................................................6-8
Fonctions trigonométriques .................................................................................................6-10
Fonctions de signe ...............................................................................................................6-11
Fonctions d’arrondis ............................................................................................................6-12
Fonctions d’arrondis ............................................................................................................6-13
Atelier 6 ...............................................................................................................................6-15
MODULE 7 : LE TRAITEMENT DES DATES .................................................... 7-1
Les zones horaires .................................................................................................................7-2
Types date..............................................................................................................................7-5
Types intervalle .....................................................................................................................7-8
Opérateurs............................................................................................................................7-11
Les dates système ................................................................................................................7-12
Extraire des informations ....................................................................................................7-14
Manipulation des dates ........................................................................................................7-16
© Tsoft – SQL pour Oracle10g
T-3
Table des matières
Retrouver une date ..............................................................................................................7-18
Arrondis des dates ...............................................................................................................7-20
Atelier 7...............................................................................................................................7-23
MODULE 8 : LES CONVERSIONS SQL .........................................................8-1
Les conversions implicites ....................................................................................................8-2
Les fonctions de conversion..................................................................................................8-3
Numérique vers chaîne..........................................................................................................8-4
Date vers chaîne ....................................................................................................................8-6
Chaîne vers numérique..........................................................................................................8-8
Chaîne vers date ..................................................................................................................8-10
Chaîne vers timestamp ........................................................................................................8-11
Chaîne vers interval.............................................................................................................8-13
Numérique vers interval ......................................................................................................8-14
Atelier 8.1............................................................................................................................8-16
Les fonctions générales .......................................................................................................8-18
Les fonctions générales .......................................................................................................8-20
Les fonctions générales .......................................................................................................8-23
Les fonctions générales .......................................................................................................8-25
Atelier 8.2............................................................................................................................8-27
MODULE 9 : GROUPEMENT DES DONNÉES ...................................................9-1
Fonctions « Horizontales »....................................................................................................9-2
Fonctions « Verticales »........................................................................................................9-3
Fonctions d’agrégat ...............................................................................................................9-4
Fonctions d’agrégat ...............................................................................................................9-6
Le groupe...............................................................................................................................9-8
La sélection de groupe.........................................................................................................9-11
Le groupe à deux niveaux ...................................................................................................9-14
Atelier 9...............................................................................................................................9-15
MODULE 10 : AGRÉGATION ET ANALYSE ..................................................10-1
Agrégation et Analyse.........................................................................................................10-2
Groupage ROLLUP.............................................................................................................10-3
Groupage CUBE .................................................................................................................10-6
GROUPING SETS..............................................................................................................10-9
Fonctions de groupes.........................................................................................................10-12
Atelier 10.1........................................................................................................................10-17
Fonctions analytiques........................................................................................................10-19
La clause de partitionnement.............................................................................................10-21
T-4
© Tsoft – SQL pour Oracle10g
Table des matières
La clause d’ordre ...............................................................................................................10-24
La clause de fenêtrage .......................................................................................................10-26
Atelier 10.2 ........................................................................................................................10-29
Fonctions de classement ....................................................................................................10-32
Fonctions de classement ....................................................................................................10-35
Fonctions de fenêtre ..........................................................................................................10-38
RATIO_TO_REPORT ......................................................................................................10-40
Fonctions LAG et LEAD...................................................................................................10-41
Atelier 10.3 ........................................................................................................................10-43
MODULE 11 : LES REQUÊTES MULTI-TABLES ............................................ 11-1
Requêtes multi-tables ..........................................................................................................11-2
La jointure sans condition ...................................................................................................11-3
La jointure avec condition ...................................................................................................11-4
La jointure externe...............................................................................................................11-6
L’autojointure ......................................................................................................................11-8
Atelier 11.1 ..........................................................................................................................11-9
SQL : 1999 ........................................................................................................................11-11
L’opérateur CROSS JOIN .................................................................................................11-12
L’opérateur NATURAL JOIN...........................................................................................11-13
L’opérateur JOIN USING .................................................................................................11-15
L’opérateur JOIN ON........................................................................................................11-17
L’opérateur JOIN ON........................................................................................................11-19
L’opérateur OUTER JOIN ................................................................................................11-20
Atelier 11.2 ........................................................................................................................11-21
MODULE 12 : LES JOINTURES COMPLEXES ............................................... 12-1
Les opérateurs ensemblistes ................................................................................................12-2
L’opérateur UNION ............................................................................................................12-4
L’opérateur INTERSECT....................................................................................................12-7
L’opérateur DIFFERENCE .................................................................................................12-8
Atelier 12.1 ..........................................................................................................................12-9
Les sous-requêtes...............................................................................................................12-10
Sous-requête monolignes...................................................................................................12-11
Sous-requête multilignes ...................................................................................................12-13
Les opérateurs ANY et ALL .............................................................................................12-15
Sous-requête renvoyant un tableau....................................................................................12-18
Sous-requête synchronisée ................................................................................................12-19
Sous-requête dans la clause FROM...................................................................................12-22
Atelier 12.2 ........................................................................................................................12-23
© Tsoft – SQL pour Oracle10g
T-5
Table des matières
MODULE 13 : MISE À JOUR DES DONNÉES .................................................13-1
Mise à jour des données ......................................................................................................13-2
Insertion des lignes..............................................................................................................13-3
Insertion d’une ligne............................................................................................................13-4
Insertion expressions génériques.........................................................................................13-6
Insertion et sous-requête......................................................................................................13-8
Insertion de plusieurs lignes................................................................................................13-9
Insertion multi-tables.........................................................................................................13-10
Insertion sans condition.....................................................................................................13-11
INSERT ALL ....................................................................................................................13-13
INSERT FIRST .................................................................................................................13-16
Modification des données..................................................................................................13-17
Suppression des données...................................................................................................13-20
Contraintes d’intégrité.......................................................................................................13-21
Mises à jour conditionnées................................................................................................13-22
Atelier 13...........................................................................................................................13-26
MODULE 14 : LES TRANSACTIONS ............................................................14-1
Les transactions ...................................................................................................................14-2
Début et fin de transaction ..................................................................................................14-4
Structuration de la transaction.............................................................................................14-5
L’isolation ...........................................................................................................................14-8
Les niveaux d’isolation .....................................................................................................14-10
Le verrouillage ..................................................................................................................14-12
Le Segment Undo..............................................................................................................14-15
La lecture cohérente ..........................................................................................................14-16
La conservation des blocs .................................................................................................14-17
Flashback...........................................................................................................................14-18
DBMS_FLASHBACK......................................................................................................14-19
Fonctions de conversion....................................................................................................14-22
Interrogation FLASHBACK .............................................................................................14-24
Interrogation des versions .................................................................................................14-26
Atelier 14...........................................................................................................................14-29
MODULE 15 : LA CRÉATION DES TABLES ...................................................15-1
Objets de la base de données...............................................................................................15-2
Structure du stockage des données......................................................................................15-3
Le tablespace .......................................................................................................................15-5
Types de données ................................................................................................................15-7
Types ROWID.....................................................................................................................15-9
T-6
© Tsoft – SQL pour Oracle10g
Table des matières
Grand objets.......................................................................................................................15-11
Types de données composés..............................................................................................15-12
Méthodes des types d’objets..............................................................................................15-16
Création d’une table...........................................................................................................15-18
Stockage des données LOB ...............................................................................................15-23
Stockage d’un type objet ...................................................................................................15-26
Table objet .........................................................................................................................15-30
Table temporaire................................................................................................................15-33
Création d’une table comme .............................................................................................15-35
Atelier 15 ...........................................................................................................................15-37
MODULE 16 : LA GESTION DES TABLES .................................................... 16-1
Définition de contraintes .....................................................................................................16-2
NOT NULL .........................................................................................................................16-6
CHECK................................................................................................................................16-8
PRIMARY KEY................................................................................................................16-10
UNIQUE............................................................................................................................16-13
REFERENCES ..................................................................................................................16-15
Ajouter une nouvelle colonne............................................................................................16-22
Modification d’une colonne ..............................................................................................16-24
Supprimer une colonne......................................................................................................16-26
Modification d'une table ....................................................................................................16-30
Modification d’une contrainte ...........................................................................................16-33
Suppression d’une table.....................................................................................................16-38
Suppression des lignes.......................................................................................................16-39
Atelier 16 ...........................................................................................................................16-41
MODULE 17 : LES INDEX ......................................................................... 17-1
Les types d’index.................................................................................................................17-2
Création d'un index..............................................................................................................17-3
Index B-tree .......................................................................................................................17-10
Avantages et inconvénients ...............................................................................................17-14
Table organisée en index ...................................................................................................17-18
Index Bitmap .....................................................................................................................17-20
Suppression d’index ..........................................................................................................17-22
Atelier 17 ...........................................................................................................................17-24
MODULE 18 : LES VUES ET AUTRES OBJETS ............................................. 18-1
Création d’une Vue..............................................................................................................18-2
Mise à jour dans une Vue ....................................................................................................18-4
© Tsoft – SQL pour Oracle10g
T-7
Table des matières
Contrôle d'intégrité dans une Vue .......................................................................................18-6
Gestion d’une Vue...............................................................................................................18-8
Les séquences......................................................................................................................18-9
Création d’un synonyme ...................................................................................................18-11
Liens de base de données ..................................................................................................18-12
Atelier 18...........................................................................................................................18-15
MODULE 19 : LES PROFILS ......................................................................19-1
Gestion des mots de passe...................................................................................................19-2
Paramètres de mots de passe ...............................................................................................19-3
Composition et complexité..................................................................................................19-5
Création d’un profil.............................................................................................................19-9
Gestion des Ressources .....................................................................................................19-11
Création d’un profil...........................................................................................................19-13
Atelier 19...........................................................................................................................19-15
MODULE 20 : LES UTILISATEURS ..............................................................20-1
Les utilisateurs.....................................................................................................................20-2
Création d’un utilisateur......................................................................................................20-3
Gestion d’un utilisateur .......................................................................................................20-8
Suppression d’un utilisateur ..............................................................................................20-11
Informations sur les utilisateurs ........................................................................................20-12
Atelier 20...........................................................................................................................20-15
MODULE 21 : LES PRIVILÈGES .................................................................21-1
Les privilèges ......................................................................................................................21-2
Privilèges de niveau système...............................................................................................21-4
SYSDBA et SYSOPER privilèges......................................................................................21-6
Les privilèges ......................................................................................................................21-7
Octroyer des privilèges système..........................................................................................21-9
Octroyer des privilèges objet.............................................................................................21-13
Révoquer des privilèges objet ...........................................................................................21-19
Les informations sur les privilèges....................................................................................21-21
Création d'un rôle ..............................................................................................................21-24
Gestion d'un rôle................................................................................................................21-27
Les rôles par défaut ...........................................................................................................21-28
Activation d'un rôle ...........................................................................................................21-30
Les rôles standard..............................................................................................................21-31
Les informations sur les rôles............................................................................................21-33
Atelier 21...........................................................................................................................21-35
T-8
© Tsoft – SQL pour Oracle10g
Table des matières
MODULE 22 : LE DICTIONNAIRE DE DONNÉES ............................................ 22-1
Le dictionnaire de données ..................................................................................................22-2
Les scripts interactifs ...........................................................................................................22-3
Les vues du dictionnaire de données ...................................................................................22-5
Le guide du dictionnaire ......................................................................................................22-6
Les objets utilisateur..........................................................................................................22-11
La structure de stockage ....................................................................................................22-20
Les utilisateurs et privilèges ..............................................................................................22-25
Les audits...........................................................................................................................22-27
Atelier 22 ...........................................................................................................................22-28
INDEX ....................................................................................................... I-1
© Tsoft – SQL pour Oracle10g
T-9
Préambule
Ce guide de formation a pour but de vous permettre d'acquérir une bonne
connaissance du langage SQL.
Vous pourrez ensuite tirer profit d'un autre ouvrage du même auteur "PL/SQL pour
Oracle 10g". Ces deux ouvrages vous permettront de préparer les examens de
certification Oracle suivants :
« 1Z0-007 » Introduction to Oracle9i: SQL® (ou la version 10g lorsque
l’examen sera disponible ce qu’il n’est pas encore à la parution de cet ouvrage)
« 1Z0-001 » Introduction to Oracle: SQL® and PL/SQL™
« 1Z0-147 » Program with PL/SQL
Support de formation
Ce guide de formation est idéal pour être utilisé comme support élève dans une
formation se déroulant avec un animateur dans une salle de formation, car il permet à
l'élève de suivre la progression pédagogique de l'animateur sans avoir à prendre
beaucoup de notes. L'animateur, quant à lui, appuie ses explications sur les images
figurant sur chaque page de l'ouvrage.
Cet ouvrage peut aussi servir de manuel d'autoformation car il est rédigé à la façon
d'un livre, il est complet comme un livre, il va beaucoup plus loin qu'un simple
support de cours. De plus, il inclut une quantité d'ateliers conçus pour vous faire
acquérir une bonne pratique d’administration de la base de données.
Les ateliers
Le livre vise à donner la possibilité à chacun de manipuler et mettre en œuvre les
fonctionnalités de ces deux langage sans pour autant avoir besoin d’un serveur Oracle
classique qui nécessite des ressources, des droits (distribués avec parcimonie par les
DBA) et surtout une licence (qui n’est pas de plus accessible).
Le choix de présenter l’installation et l’ensemble des ateliers avec Oracle Database
10g Express Edition, qui offre une compatibilité totale avec les produits de la famille
Oracle Database, s’est imposé de lui-même, pour permettre de démarrer petit mais de
voir grand.
© Tsoft – SQL pour Oracle10g
1
Préambule
Progression pédagogique
Ce cours comprend 22 chapitres, il est prévu pour durer cinq jours avec un animateur
pour des personnes n'ayant aucune connaissance préalable du sujet.
Suivant l'expérience des stagiaires et le but poursuivi, l'instructeur passera plus ou
moins de temps sur chaque module.
Attention : l'apprentissage « par cœur » des chapitres n'est d'aucune utilité pour passer
les examens. Une bonne pratique et beaucoup de réflexion seront réellement utiles
ainsi que la lecture des aides en ligne. C'est pourquoi ce livre présente des ateliers
pratiques en fin de chaque chapitre.
Présentation de l’environnement
Le premier module vous propose une description des concepts de base de données
relationnelle ainsi que de faire connaissance avec les composants constitutifs d’une
base de données relationnelle.
Dans ce module, vous allez découvrir le mode de communication du serveur Oracle
avec les clients.
Nous allons traiter dans ce module de l'installation d’Oracle 10g Express Edition, les
étapes d’installation et le détail des pré-requis en ressources système nécessaires pour
l’installation dans deux environnements : Windows et Linux.
Les outils SQL*Plus
Dans ce module, vous allez découvrir les interfaces de base de données mise à la
disposition pour SQL et PL/SQL. Oracle fournit un certain nombre d’outils standards
qui ont évolué et maturé suivant les versions. Puissants et performants, ces outils se
retrouvent sur toutes les plateformes quelle que soit la version.
Nous allons traiter dans ce module, l’utilisation de l’environnement SQL*Plus
Worksheet, l’environnement iSQL*Plus ainsi que l’installation et utilisation de
l’environnement SQL Developer.
Interrogation des données
Dans ce module, vous allez découvrir l’extraction des données d’une table le choix des
colonnes souhaitées.
Vous trouvez également dans ce module le traitement des colonnes contenant des
valeurs NULL, les opérations arithmétiques avec les colonnes de type numériques et
les colonnes de type date ainsi que l’affichage des résultats des requêtes triées.
2
© Tsoft – SQL pour Oracle10g
Préambule
Les opérateurs logiques
Nous allons traiter dans ce module, de l’utilisation des opérateurs logiques simples et
des opérateurs multiples.
Ce module décrit également de la mise en œuvre des opérateurs de recherche dans les
chaînes de caractères, de l’utilisation des opérateurs pour traiter des valeurs NULL des
colonnes.
Vous trouvez également dans ce module comment combiner plusieurs expressions de
type logique à l’aide des opérateurs logiques AND, OR ou NOT.
Les chaînes de caractères
Dans ce module, vous allez découvrir le traitement des chaînes de caractères, leur
formatage, l’extraction une partie d’une chaîne de caractères ainsi que la recherche et
remplacement des sous chaînes.
Nous allons traiter dans ce module les nouvelles fonctionnalités de traitement des
chaînes de caractères à l'aide des expressions régulières.
Les fonctions numériques
Nous allons traiter dans ce module de l’utilisation des types de données numériques,
des calculs arithmétiques, des arrondis et manipulation du signe des données.
Vous allez également y découvrir les nouveautés des nombres réels à virgule flottante
ainsi que les fonctions de traitements et conversions de ces types de données.
Le traitement des dates
Vous trouvez dans ce module les modalités de récupération des informations
concernant la date et l’emplacement de la base, de changement des paramètres de zone
horaire pour la session ainsi que le stockage de ces informations dans la base de
données.
Nous allons également y traiter les expressions de type date ainsi que les arrondis de
ces expressions.
Les conversions SQL
Dans ce module, vous allez découvrir les modalités d’effectuer des conversions
implicites et le traitement de conversion entre les différents types de données
Nous allons également traiter dans ce module, la manipulation des expressions de type
date de type chaîne de caractères.
Groupement des données
Ce module décrit les fonctions dites "verticales" pour les regroupements et le calcul
cumulatif. Les fonctions verticales sont utilisées pour le calcul cumulatif des valeurs
par rapport à un regroupement ou pour l’ensemble des lignes de la requête.
Agrégation et Analyse
Dans ce module, vous allez découvrir les nouvelles fonctionnalités de traitement
multidimensionnel, les fonctions d’agrégation multidimensionnelles, les calculs
suivant un partitionnement de données et le concept de fenêtrage.
Nous allons également traiter dans ce module, des fonctions de classement, des
requêtes qui utilisent des valeurs détaillées et des résultats des regroupements en
même temps.
© Tsoft – SQL pour Oracle10g
3
Préambule
Les requêtes multitables
Nous examinerons dans cette section comment coupler les lignes de deux ou plusieurs
tables afin d'en extraire des données corrélées, utiliser la syntaxe d’Oracle pour les
jointures ou la syntaxe ANSI SQL :1999.
Les jointures complexes
Dans ce module, vous allez découvrir les interrogations avec les opérateurs
ensemblistes et l’utilisation des sous-requêtes.
Nous examinerons tout particulièrement l’utilisation des sous-requêtes avec les
opérateurs IN, ALL et ANY, les sous-requêtes dans la clause FROM et les sousrequêtes synchronisées.
Mise à jour des données
Ce module présente le Langage de Manipulation de Donnée ou LMD, (UPDATE,
INSERT et DELETE), qui permet d'effectuer les trois types de modifications (mise à
jour de lignes, ajout de lignes et suppression de lignes sélectionnées).
Nous examinerons tout particulièrement l’utilisation des nouveautés des insertions
multi-tables des mises à jour conditionnées.
Les transactions
Dans ce module vous pouvez découvrir la gestion des transactions. Toute base de
données a pour objectif de fournir aux utilisateurs un accès simultané aux données.
La notion de concurrence d'accès et de verrouillage des données intervient lorsque
plusieurs utilisateurs essaient d'accéder simultanément aux mêmes données. Le
concept de transaction est différent mais il n'en reste pas moins à la base de la gestion
des accès concurrents : les données modifiées lui sont réservées jusqu'à sa fin.
Nous examinerons tout particulièrement la structuration d’une transaction et les
annulations partielles.
La création des tables
Les tables contiennent un ensemble fixe de colonnes, chaque colonne possède un nom
ainsi que des caractéristiques spécifiques.
Une table d'objets est une table dont toutes les lignes sont des types de données
abstraits possédant chacun un identifiant d'objet (OID, Object ID).
La gestion des tables
Les tables sont mises en relation via les colonnes qu'elles ont en commun. Vous
pouvez faire en sorte que la base de données applique ces relations au moyen de
l'intégrité référentielle.
L'intérêt d'employer des contraintes est qu'Oracle assure en grande partie l'intégrité des
données. Par conséquent, plus vous ajoutez de contraintes à une définition de table,
moins vous aurez de travail pour la maintenance des données.
Les index
L’index est une structure de base de données utilisée par le serveur pour localiser
rapidement une ligne dans une table.
Dans ce module, nous allons détailler l’index de table de type B-Tree classique et
l’index de type bitmap conçu pour supporter des requêtes sur des tables volumineuses
dont les colonnes contiennent peu de valeurs distinctes.
Vous pouvez également découvrir dans ce module les tables organisées en index.
4
© Tsoft – SQL pour Oracle10g
Préambule
Les vues et autres objets
Ce module concerne les autres objets de la base de données comme le lien de base de
données qui permet de se connecter à une base et d'accéder à partir de là à des objets
situés dans une autre base de façon transparente, c'est-à-dire comme s'ils se trouvaient
dans la base à laquelle vous êtes directement connecté.
Les profils
Depuis Oracle8, les administrateurs de bases de données disposent de différentes
fonctionnalités qui sont essentielles pour assurer la sécurité des mots de passe.
Pour améliorer le contrôle de la sécurité de la base de données, la gestion de mot de
passe d'Oracle est contrôlée par des administrateurs de base de données avec des
profils.
Le profil d'un utilisateur limite l'utilisation de la base de données et les ressources
d'instance conformément à sa définition. Vous pouvez affecter un profil à chaque
utilisateur et un profil par défaut à tous les utilisateurs ne disposant pas d'un profil
spécifique.
Les utilisateurs
Lorsqu'on parle d'utilisateurs de base de données, il est généralement question de trois
types d'entités :
Les utilisateurs finaux sont des utilisateurs qui se connectent à la base Oracle pour
interagir avec les données qui y sont stockées et les maintenir
Les applications qui sont écrites pour aider les utilisateurs finaux à exécuter plus
facilement et plus rapidement leurs tâches.
Les administrateurs de bases de données surveillent et maintiennent la base ellemême; ils ont donc besoin du plus haut niveau de privilèges.
Les privilèges
En tant qu'administrateur de bases de données, vous êtes chargé d'octroyer et de
révoquer des privilèges d'accès aux utilisateurs de la base. Vous pouvez employer des
rôles pour faciliter l'administration de privilèges, et des vues pour limiter l'accès des
utilisateurs à certaines données.
Ce module décrit comment utiliser et gérer les privilèges de niveaux système et objet,
les rôles et les vues afin d'assurer la sécurité des données de la base et de garantir leur
intégrité.
Le dictionnaire de données
Le dictionnaire est un ensemble de tables et de vues qui contient toutes les
informations concernant la structure de stockage et tous les objets de la base. Toute
information concernant la base de données se retrouve dans le dictionnaire de
données.
Le dictionnaire de données Oracle stocke toutes les informations utilisées pour gérer
les objets de la base. Ce dictionnaire est généralement exploité par l'administrateur de
base de données, mais c'est aussi une source d'information utile pour les développeurs
et les utilisateurs.
Ce module présente les mécanismes d’accès à ces informations à travers les vues du
dictionnaire de données.
© Tsoft – SQL pour Oracle10g
5
Préambule
Conventions utilisées dans l’ouvrage
« MAJUSCULES »
[ ]
[,...]
{ }
|
...
Les ordres SQL ou tout identifiant ou mot clé. Utilisé pour les mots clé, les
noms des tables, les noms des champs, les noms des blocs etc....
L’information qui se trouve entre les crochets est facultative.
L’argument précédent peut être répété plusieurs fois.
Liste de choix exclusive.
Séparateur dans une liste de choix.
La suite est non significative pour le sujet traité.
La définition suivante est valable uniquement dans la version Oracle8i.
La définition est valable pour la version Oracle9i mais également dans les
versions suivantes.
La définition est valable à partir de la version Oracle10g.
La définition uniquement valable pour l’environnement de travail
UNIX/Linux.
La définition uniquement valable pour l’environnement de travail Windows.
Ce sigle introduit un exemple de code avec la description complète telle
qu’elle est présente à l’écran dans l’outil de commande.
Une note qui présente des informations intéressantes en rapport avec le sujet
traité.
Un encadré. Attention met en évidence les problèmes potentiels et vous aide
à les éviter. Il peut être également une mise en garde ou une définition
critique.
Une Astuce, apporte une suggestion ou propose une méthode plus simple
pour effectuer une action donnée.
Un Conseil, une démarche impérative à suivre pour pouvoir résoudre le
problème.
6
© Tsoft – SQL pour Oracle10g
• Outils d’administration
• SQL*Plus
• SQL*Plus Worksheet
• iSQL*Plus
• SQL Developer
Module 2 : Les outils
SQL*Plus
Objectifs
A la fin de ce module, vous serez à même d’effectuer les tâches suivantes :
• Décrire les interfaces de base de données mise à la disposition d’administrateurs
SQL et PL/SQL.
• Utiliser l’environnement SQL*Plus.
• Utiliser l’environnement SQL*Plus Worksheet.
• Utiliser l’environnement iSQL*Plus.
• Installer et utiliser l’environnement SQL Developer
Contenu
Qu'est-ce que SQL*Plus ? ................. 2-2 SQL*Plus Worksheet .......................2-23
Environnement SQL*Plus ................. 2-4 iSQL*Plus ........................................2-25
Environnement SQL*Plus (Suite) ..... 2-5 iSQL*Plus ........................................2-26
Commandes SQL*Plus...................... 2-6 Variables et iSQL*Plus ....................2-28
Commandes SQL*Plus (Suite)........ 2-10 Oracle SQL Developer .....................2-31
Commandes SQL*Plus (Suite)........ 2-14 SQL Developer.................................2-35
Commandes SQL*Plus (Suite)........ 2-16 Le schéma des ateliers......................2-37
Commandes SQL*Plus (Suite)........ 2-18 Atelier...............................................2-39
Variables.......................................... 2-19
© Tsoft – SQL pour Oracle10g
2-1
Module 02 : Les outils SQL*Plus
Qu'est-ce que SQL*Plus ?
Qu'est-ce que SQL*Plus ?
Éditeur favori
Buffer
Ordre SQL
SQL*Plus
Commande
SQL*Plus
Rapport Formaté
Fichier SQL
Résultat de
la requête
Rapport
TSOFT - ORACLE 10g SQL et PL*SQL
Module 2 : Les outils SQL*Plus - Diapo 2.2
SQL*Plus est une interface interactive en mode caractère qui permet de manipuler la
base de données au moyen de commandes simples se basant sur le langage SQL.
L'outil SQL*Plus vous permet de réaliser les fonctions suivantes au sein d'ORACLE :
• Entrer, éditer, sauvegarder et exécuter des commandes SQL et des blocs PL/SQL.
• Sauvegarder, effectuer des calculs et mettre en forme le résultat des requêtes.
• Lister les définitions des colonnes de chaque table.
• Exécuter des requêtes interactives.
Vous pouvez écrire des rapports tout en travaillant de manière interactive avec
SQL*Plus. Cela veut dire que si vous saisissez vos commandes de définition de titres
de pages, de titres de colonnes, de mise en forme de texte, de sauts de pages, de
totaux, etc., et si vous exécutez ensuite une requête SQL, SQL*Plus produit
immédiatement le rapport formaté selon vos indications.
Malheureusement, lorsque vous quittez cet outil, il ne conserve aucune des
instructions que vous lui avez données. Si vous deviez l'employer uniquement de
façon interactive, vous auriez à recréer un rapport chaque fois que vous en auriez
besoin.
La solution est très simple. Il suffit de saisir les commandes dans un fichier.
SQL*Plus peut ensuite lire le fichier comme s'il s'agissait d'un script, et exécuter vos
commandes comme si vous les saisissiez. Pour créer ce fichier, utilisez n'importe quel
éditeur disponible. Vous pouvez travailler avec l'éditeur et SQL*Plus en parallèle.
Lorsque vous êtes dans SQL*Plus, basculez dans l'éditeur pour créer ou modifier
votre programme de génération de rapport, puis retournez dans SQL*Plus à l'endroit
où vous l'avez laissé et exécutez le fichier.
SQL*Plus est un outil généraliste, livré depuis des années avec toutes les versions
d'Oracle. Il a l'avantage d’exister sur toutes les plates-formes où Oracle est porté. Il
présente l'inconvénient d'une ergonomie en mode caractère qui peut faire préférer pour
2-2
© Tsoft – SQL pour Oracle10g
Module 02 : Les outils SQL*Plus
certains usages des outils graphiques parfois moins performants mais plus agréables
d'utilisation.
L’outil en mode caractère est indispensable à l’automatisation d’exécution des fichiers
scripts de commande pour l’administration du serveur ORACLE.
En conclusion, SQL*Plus est un outil ORACLE qui reconnaît le langage SQL et
soumet les instructions SQL au Serveur ORACLE pour l'exécution. Cet outil
comporte son propre langage de commande.
Comparaison entre les instructions SQL et les commandes de SQL*Plus :
SQL
Un langage
Conforme au standard ANSI
Les mots clés ne peuvent pas être
abrégés
Les instructions manipulent des données
et des définitions de tables dans la base
de données
Les instructions sont entrées dans le
tampon mémoire sur une ou plusieurs
lignes
© Tsoft – SQL pour Oracle10g
SQL*Plus
Un environnement
Propriétaire d'ORACLE
Les mots clés peuvent être abrégés
Les commandes ne peuvent pas
manipuler les données dans la base de
données
Les instructions sont entrées sur une
ligne à la fois ; elles ne sont pas stockées
dans le tampon mémoire
2-3
Module 02 : Les outils SQL*Plus
Environnement SQL*Plus
Qu'est-ce que SQL*Plus ?
Éditeur favori
Buffer
Ordre SQL
SQL*Plus
Commande
SQL*Plus
Fichier SQL
Rapport Formaté
Résultat de
la requête
Rapport
TSOFT - ORACLE 10g SQL et PL*SQL
Module 2 : Les outils SQL*Plus - Diapo 2.2
SQL*Plus peut être utilisé en mode ligne de commande ou en environnement mode
caractère dans une fenêtre Windows, les deux environnements étant identiques du
point de vue de leur utilisation. Avant de pouvoir émettre des instructions SQL dans
SQL*Plus, vous devez tout d’abord établir une connexion avec le serveur.
Deux autres environnements sont utilisés à partir de la version Oracle9i : SQL*Plus
Worksheet et iSQL*Plus.
Connexion SQL*Plus en mode Windows
A partir du menu Démarrer, sélectionnez Programmes, ORACLE-Formation,
Application Development, SQL Plus. Une boîte de dialogue apparaît pour recueillir
« un nom », « un mot de passe » et « une chaîne de connexion ».
Attention
Etant donné que nous utilisons un répertoire d'accueil ORACLE_HOME nommé
Formation, l'option du menu Programmes est ORACLE-Formation. Elle est
différente sur votre système.
Connexion SQL*Plus en mode ligne de commande
A partir d'une fenêtre utilisez la commande suivante pour lancer SQL*Plus :
SQLPLUS « nom »/« mot de passe »@« chaîne de connexion »
La syntaxe exacte de commande SQL*Plus est décrite plus loin dans ce module.
2-4
© Tsoft – SQL pour Oracle10g
Module 02 : Les outils SQL*Plus
Environnement SQL*Plus (Suite)
Qu'est-ce que SQL*Plus ?
Éditeur favori
Buffer
Ordre SQL
SQL*Plus
Commande
SQL*Plus
Fichier SQL
Rapport Formaté
Résultat de
la requête
Rapport
TSOFT - ORACLE 10g SQL et PL*SQL
Module 2 : Les outils SQL*Plus - Diapo 2.2
Les grandes caractéristiques des interactions entre SQL*Plus et son environnement
sont :
• lors du lancement de SQL*Plus, un nom d'utilisateur, son mot de passe et la base
de donnée cible vous sont demandés;
• lors de la connexion à la base Oracle, le fichier glogin.sql est exécuté. Ce fichier,
situé dans le répertoire « ORACLE_HOME\SQLPLUS\ADMIN » sur la machine
qui héberge le code exécutable de SQL*Plus, peut contenir toutes sortes d'ordres
SQL et SQL*Plus ;
• par défaut, l'invite d'une session SQL*Plus est SQL> ;
• à partir de la session SQL*Plus, vous pouvez lancer des commandes du système
d’exploitation, par la commande HOST. Celle-ci ne termine pas votre session
SQL*Plus qui peut être, au choix, bloquée ou active en attendant la fin de
l'exécution de la commande OS ;
• vous pouvez vous déconnecter de la base Oracle cible tout en restant dans
SQL*Plus au moyen de la commande DISC (DISCONNECT) ;
• pour se connecter à un autre compte Oracle ou à une autre base de données, utilisez
la commande CONNECT;
• pour se déconnecter et terminer une session SQL*Plus, utilisez EXIT ou QUIT.
© Tsoft – SQL pour Oracle10g
2-5
Module 02 : Les outils SQL*Plus
Commandes SQL*Plus
Commandes SQL*Plus
!
SQLPLUS
!
CONNECT
!
DISCONNECT
!
EXIT
!
RUN
SQL*Plus
TSOFT - ORACLE 10g SQL et PL*SQL
Module 2 : Les outils SQL*Plus - Diapo 2.5
SQL*Plus possède également ses propres commandes et règles :
• Les instructions sont entrées une ligne à la fois et elles ne sont pas stockées dans le
tampon mémoire.
• Le - est un caractère de continuation pour saisir une commande sur plusieurs lignes
• Les mots clés peuvent être abrégés
• Ne nécessite pas de caractère de terminaison, les commandes sont exécutées
immédiatement
SQLPLUS
Lors de la connexion, il est possible de spécifier le nom d'utilisateur, le mot de passe,
et le nom d'une base de données ainsi que lancer un fichier de commande spécifié.
SQLPLUS [logon][@chaîne] @fichier[.ext] [arg]
logon
@chaîne
@fichier[.ext]
[arg...]
« utilisateur »[/« mot_de_passe »]
Si le nom d'utilisateur et/ou le mot_de_passe ne sont pas
saisis, ORACLE les demande après le lancement.
le nom du service pour la connexion Oracle Net. Si aucun
nom de base n’est spécifié, c'est la base par défaut qui est
prise en compte.
un fichier de commande contenant des ordres SQL, des
commandes SQL*Plus et PL/SQL. L’extension .SQL est
facultative. On peut lancer SQLPLUS @fichier a
condition que la première ligne de ce fichier corresponde à
un nom d'utilisateur suivi d'un '/' et du mot de passe.
les arguments
Pour accéder à l’aide décrivant l’ensemble des syntaxes accessibles lors du lancement
de SQL*Plus il faut exécuter « SQLPLUS - ».
2-6
© Tsoft – SQL pour Oracle10g
Module 02 : Les outils SQL*Plus
C:\>sqlplus –
SQL*Plus: Release 10.1.0.2.0 - Production
Syntaxe : SQLPLUS [<option>] [logon] [<start>] ]
<option> ::= -H | -V | [ [-C <v>] [-L] [-M <o>] [-R <n>] [-S] ]
<logon> ::=
<nomutilisateur>[/<motdepasse>][@<identificateur_connexion>]
<start> ::= @<URL>|<nomfichier>[.<ext>] [<paramÞtre> ...]
"-H" affiche le numéro de version de SQL*Plus et la syntaxe
"-V" affiche le numéro de version de SQL*Plus
"-C" définit la version de compatibilité SQL*Plus <v>
"-L" tente de se connecter une seule fois
"-M <o>" utilise les options de balisage HTML <o>
"-R <n>" utilise le mode restreint <n>
"-S" utilise le mode silencieux
Note
Notez la différence entre les deux exemples suivants :
− Se connecter à la base de données cible.
SQLPLUS utilisateur/mot_de_password@base_cible
− Exécuter automatiquement le fichier de commande cité sur la base par défaut.
SQLPLUS utilisateur/mot_de_password @fichier.sql
Une autre modalité de travail avec SQL*Plus consiste à ouvrir l’application sans
aucune connexion à la base, et suivant les besoins, à effectuer les connexions par la
suite.
SQLPLUS /NOLOG
CONNECT
L'instruction CONNECT vous permet de réaliser une nouvelle connexion après le
lancement de SQL*Plus.
CONN[ECT]
« utilisateur »[/« mot_de_passe »][@chaîne]
Si le mot de passe n'est pas fourni, Oracle effectue une demande de saisie.
C:\>sqlplus /nolog
SQL*Plus: Release 10.1.0.2.0 - Production on Mer. Mai 11 00:37:…
Copyright (c) 1982, 2004, Oracle.
SQL> connect scott/tiger
Connected.
SQL> connect scott/tiger@dba
Connected.
SQL> connect scott
Enter password:
Connected.
All rights reserved.
Comme on l’a vu précédemment, on peut ouvrir SQL*Plus et ne pas se connecter à
une base de données. La connexion peut être réalisée par la suite. Parallèlement, on
© Tsoft – SQL pour Oracle10g
2-7
Module 02 : Les outils SQL*Plus
peut ouvrir SQL*Plus et lancer un fichier de commande qui lui-même effectue la
connexion, exécute une ou plusieurs opérations et quitte l’application.
C:\>type select_cat.sql
connect scott/tiger@dba
select * from cat;
exit;
C:\>sqlplus /nolog @select_cat.sql
SQL*Plus: Release 10.1.0.2.0 - Production on Mer. Mai 11 00:52:
Copyright (c) 1982, 2004, Oracle.
All rights reserved.
Connecté.
TABLE_NAME
-----------------------------DEPT
EMP
BONUS
SALGRADE
TABLE_TYPE
----------TABLE
TABLE
TABLE
TABLE
Déconnecté de Oracle Database 10g Enterprise Edition Release 10
With the Partitioning, OLAP and Data Mining options
C:\>
Une autre manière de travailler est de renvoyer à SQL*Plus une série de commandes ;
il est préférable d’utiliser cette option pour des traitements ponctuels.
oracle@napoca:~> sqlplus /nolog << EOF
> connect scott/tiger@dba
> select * from cat;
> exit;
> EOF
SQL*Plus: Release 10.1.0.3.0 - Production on Wed May 11 01:13:
Copyright (c) 1982, 2004, Oracle.
SQL> Connected.
SQL>
TABLE_NAME
-----------------------------CREATE$JAVA$LOB$TABLE
JAVA$OPTIONS
All rights reserved.
TABLE_TYPE
----------TABLE
TABLE
SQL> Disconnected from Oracle Database 10g Enterprise Edition
With the Partitioning, OLAP and Data Mining options
oracle@napoca:~>
Dans la version 10g il est possible de se connecter à l’aide de la syntaxe suivante :
CONNECT/MOT_DE_PASSE@//NOM_DU_SERVEUR:PORT/SERVICE
SQL> connect stagiaire/pwd@//minerve.etelia.fr:1521/dba.etelia.fr
Connecté.
2-8
© Tsoft – SQL pour Oracle10g
Module 02 : Les outils SQL*Plus
DISCONNECT
L'instruction « DISCONNECT » permet à l'utilisateur de se déconnecter de la base
de données.
DISC[ONNECT]
Après cette instruction l'utilisateur ne peut plus exécuter de commandes SQL ou
PL/SQL.
EXIT
L'instruction « EXIT » ou « QUIT » permet à l'utilisateur de quitter l'outil
SQL*Plus et de se déconnecter de la base de données.
EXIT[SUCCESS | FAILURE | WARNING][COMMIT | ROLLBACK]
Cette instruction permet de communiquer au système d'exploitation un code de retour
sur l'exécution de la session.
Attention
L'instruction « EXIT » valide la transaction, est équivalente à « COMMIT », par
laquelle on se déconnecte et quitte l’outil SQL*Plus.
Il est très dangereux d’utiliser « EXIT » à la fin des scripts qui utilisent des
instructions de type LMD. Il faudrait de préférence utiliser « EXIT ROLLBACK »
et prendre soin de valider les modifications faisant suite aux transactions.
RUN
La commande « RUN » ou « / » affiche le contenu du tampon mémoire et exécute
l’instruction stockée dans le tampon mémoire
R[UN] ou « / »
C:\>sqlplus /nolog
SQL*Plus: Release 10.1.0.2.0 - Production on Mer. Mai 11 01:28:
Copyright (c) 1982, 2004, Oracle.
All rights reserved.
SQL> host type select_cat.sql
connect scott/tiger@dba
select * from cat;
exit;
SQL> @select_cat.sql
Connecté.
TABLE_NAME
-----------------------------DEPT
EMP
BONUS
SALGRADE
© Tsoft – SQL pour Oracle10g
TABLE_TYPE
----------TABLE
TABLE
TABLE
TABLE
2-9
Module 02 : Les outils SQL*Plus
Commandes SQL*Plus (Suite)
Commandes SQL*Plus
!
SQLPLUS
!
CONNECT
!
DISCONNECT
!
EXIT
!
RUN
SQL*Plus
TSOFT - ORACLE 10g SQL et PL*SQL
Module 2 : Les outils SQL*Plus - Diapo 2.5
START
Indique à SQL*Plus d'exécuter les instructions enregistrées dans un fichier.
STA[RT] fichier[.ext] [arg ...]
L’extension « .SQL » est facultative.
La commande @ : est équivalente à START
@ fichier[.ext] [arg ...]
EDIT
La commande « EDIT » est utilisée pour ouvrir un fichier de nom fichier.sql sous
l'éditeur associé.
ED[IT] fichier[.ext]
SAVE
La commande « SAVE » mémorise le contenu du tampon dans un fichier.
L'extension « .SQL » est ajoutée automatiquement au nom du fichier.
SAV[E] fichier[.ext] [CREATE | REPLACE | APPEND]
GET
La commande « GET » est utilisée pour faire l'opération inverse, c'est-à-dire copier
le contenu d'un fichier dans le tampon :
GET fichier[.ext] [LIST | NOLIST]
Le contenu du fichier est alors copié dans le tampon et affiché à l'écran, mais il n'est
pas exécuté. L'exécution du contenu du tampon se fait par la commande RUN.
2-10
© Tsoft – SQL pour Oracle10g
Module 02 : Les outils SQL*Plus
SPOOL
La commande « SPOOL » est utilisée pour stocker le résultat d’une requête dans un
fichier. Par défaut le résultat de toute requête est affiché à l'écran et il ne reste aucune
trace de ce résultat. La commande « SPOOL » suivie par le nom du fichier récepteur
mémorise ce résultat.
SPO[OL] fichier[.ext] [OFF | OUT]
A partir du moment où cette commande est exécutée, tout ce qui apparaît à l'écran est
mémorisé dans le fichier jusqu'à l'exécution d'une autre commande « SPOOL » avec
l'option « OFF » ou « OUT ».
L'option « OUT » permet d'imprimer le contenu du fichier.
Rappelez vous qu’une ou plusieurs commandes SQL peuvent être exécutées ; leur
résultat est formaté et enregistré dans un fichier. Ainsi SQL*Plus peut exécuter ce
fichier résultat comme un fichier script.
C:\>sqlplus scott/tiger@dba
SQL*Plus: Release 10.1.0.2.0 - Production on Mer. Mai 11 02:27
Copyright (c) 1982, 2004, Oracle.
All rights reserved.
Connecté à :
Oracle Database 10g Enterprise Edition Release 10.1.0.2.0
With the Partitioning, OLAP and Data Mining options
SQL> spool c:\count_lines_tables.sql
SQL> select 'select count(*) from '||table_name||' ;'
2
"--Chaîne formaté" from cat;
--Chaîne formaté
----------------------------------------------------select count(*) from DEPT ;
select count(*) from EMP ;
© Tsoft – SQL pour Oracle10g
2-11
Module 02 : Les outils SQL*Plus
select count(*) from BONUS ;
select count(*) from SALGRADE ;
SQL> spool off
SQL> @c:\count_lines_tables.sql
SP2-0734: commande inconnue au début de "SQL> selec..." - le reste
de la ligne est ignoré.
COUNT(*)
---------4
COUNT(*)
---------12
COUNT(*)
---------0
COUNT(*)
---------5
SP2-0734: commande inconnue au début de "SQL> spool..." - le reste
de la ligne est ignoré.
SQL> host type c:\count_lines_tables.sql
SQL> select 'select count(*) from '||table_name||' ;'
2
"--Chaîne formaté" from cat;
--Chaîne formaté
----------------------------------------------------select count(*) from DEPT ;
select count(*) from EMP ;
select count(*) from BONUS ;
select count(*) from SALGRADE ;
SQL> spool off
Dans cet exemple on commence par l’ouverture du SQL*Plus avec une connexion à la
base de données « dba » comme l’utilisateur « scott ». Ensuite on démarre
l’enregistrement dans le fichier spool de l’ensemble des commandes et leurs résultats.
La commande SQL suivante formate les interrogations résultat, qui seront stockées
dans le fichier « c:\count_lines_tables.sql ».
SQL> select 'select count(*) from '||table_name||' ;'
2
"--Chaîne formaté" from cat;
Le fichier ainsi obtenu est exécuté. Il y a pourtant des erreurs dues au comportement
du spool qui enregistre dans le fichier toutes les informations apparues à l’écran,
même les échos des commandes comme on peut le voir dans le listing du fichier.
2-12
© Tsoft – SQL pour Oracle10g
Module 02 : Les outils SQL*Plus
HOST
Envoie toute commande au système d'exploitation hôte.
HO[ST] [commande]
Un premier exemple est une demande d’afficher le répertoire courant et de lister les
fichiers de ce répertoire dans un environnement linux.
oracle@napoca:~> ls -al
SQL*Plus: Release 10.1.0.3.0 - Production on Wed May 11 01:13
Copyright (c) 1982, 2004, Oracle.
All rights reserved.
SQL> host pwd
/home/oracle
SQL> HOST ls -al
total 36
drwxr-xr-x 4 oracle
drwxr-xr-x 4 root
-rw------- 1 oracle
-rw-r--r-- 1 oracle
-rw-r--r-- 1 oracle
drwxrwxr-x 8 oracle
-rwxr-xr-x 1 oracle
-rw------- 1 oracle
drwx------ 2 oracle
-rw------- 1 oracle
root
280 2005-05-02 21:53 .
root
96 2005-03-13 23:49 ..
oinstall 1483 2005-05-09 17:48 .bash_history
oinstall
764 2005-04-05 14:04 .bash_profile
oinstall 11075 2005-05-02 21:53 env_all
oinstall
320 2005-03-14 04:00 oraInventory
oinstall
449 2005-04-05 19:16 start_all
oinstall 4594 2005-05-02 14:23 .viminfo
oinstall
128 2005-03-14 00:51 .vnc
oinstall
100 2005-03-14 00:46 .Xauthority
Le deuxième exemple liste le contenu d’un fichier script, dans un environnement
Windows.
C:\>sqlplus /nolog
SQL*Plus: Release 10.1.0.2.0 - Production on Mer. Mai 11 01:33
Copyright (c) 1982, 2004, Oracle.
All rights reserved.
SQL> host type select_cat.sql
connect scott/tiger@dba
select * from cat;
exit;
© Tsoft – SQL pour Oracle10g
2-13
Module 02 : Les outils SQL*Plus
Commandes SQL*Plus (Suite)
Commandes SQL*Plus (Suite)
!
DESCRIBE
!
REMARK
!
USER
SQL*Plus
TSOFT - ORACLE 10g SQL et PL*SQL
Module 2 : Les outils SQL*Plus - Diapo 2.7
DESCRIBE
La commande « DESCRIBE » est utilisée pour connaître la structure d'une table,
d’une vue ou d’un synonyme.
DESC[RIBE] {[schema.]object [@connect_identifier]}
[@connect_identifier] indique un lien de base de données distante.
Name
Null ?
Type
Indique le nom de la colonne.
Indique si la colonne doit contenir des données.
« NOT NULL » rend obligatoire la présence de données.
Affiche le type de données d’une colonne.
SQL> DESC CATEGORIES
Nom
NULL ?
Type
----------------------------------------- -------- -------------CODE_CATEGORIE
NOT NULL NUMBER(6)
NOM_CATEGORIE
NOT NULL VARCHAR2(25)
DESCRIPTION
NOT NULL VARCHAR2(100)
Cette instruction peut être utilisée avec d'autres objets :
DESC[RIBE]
nom_table | nom_vue | nom_synonyme
nom_procedure | nom_fonction | nom_package
nom_type_objet
REMARK
Indique à SQL*Plus que les mots qui suivent doivent être traités comme étant un
commentaire.
REM[ARK]
2-14
© Tsoft – SQL pour Oracle10g
Module 02 : Les outils SQL*Plus
-Marque le début d'un commentaire en ligne dans une entrée SQL. Traite tout ce qui
suit cette marque jusqu'à la fin de la ligne comme étant un commentaire. Analogue à
« REMARK ».
/*…*/
Marque le début et la fin d'un commentaire dans une entrée SQL. Analogue à
« REMARK ».
USER
La commande « SHOW USER » affiche l’utilisateur connecté.
SHO[W] USER
SQL> SHOW USER
USER is "SYS"
SQL> SELECT USER FROM DUAL;
USER
----------------------------SYS
© Tsoft – SQL pour Oracle10g
2-15
Module 02 : Les outils SQL*Plus
Commandes SQL*Plus (Suite)
Commandes SQL*Plus (Suite)
!
LINESIZE
!
PAGESIZE
!
COLUMN
SQL*Plus
***** ************ ***** *****
--------------------------------------------***** ************ ***** *****
***** ************ ***** *****
***** ************ ***** *****
***** ************ ***** *****
***** ************ ***** *****
***** ************ ***** *****
***** ************ ***** *****
***** ************ ***** *****
***** ************ ***** *****
***** ************ ***** *****
***** ************ ***** *****
***** ************ ***** *****
***** ************ ***** *****
TSOFT - ORACLE 10g SQL et PL*SQL
Module 2 : Les outils SQL*Plus - Diapo 2.8
LINESIZE
La commande « SET LINESIZE » définit le nombre maximal de caractères
autorisés dans chaque ligne.
SET LINESIZE VALEUR
SQL> SET LINESIZE 50
SQL> SELECT DESCRIPTION FROM CATEGORIES
2 WHERE CODE_CATEGORIE = 1
DESCRIPTION
-----------------------------------------Boissons, cafés, thés, bières
SQL> SET LINESIZE 10
SQL> SELECT DESCRIPTION FROM CATEGORIES
2 WHERE CODE_CATEGORIE = 1
DESCRIPTIO
---------Boissons,
cafés, thé
s, bières
PAGESIZE
La commande « SET PAGESIZE » définit le nombre maximal de lignes dans
chaque page ; le calcul est effectué en tenant compte des lignes d’en-tête et bas de
2-16
© Tsoft – SQL pour Oracle10g
Module 02 : Les outils SQL*Plus
page. Lorsque vous créez un fichier de données, vous pouvez configurer la variable
« PAGESIZE » avec la valeur 0.
SET PAGESIZE VALEUR
SQL> SET PAGESIZE 10
SQL> SELECT NOM, PRENOM FROM EMPLOYES
NOM
-------------------Callahan
Buchanan
Peacock
Leverling
Davolio
Dodsworth
King
PRENOM
---------Laura
Steven
Margaret
Janet
Nancy
Anne
Robert
NOM
-------------------Suyama
Fuller
PRENOM
---------Michael
Andrew
9 ligne(s) sélectionnée(s).
COLUMN
La commande « SET COLUMN » permet de formater les données de colonnes. Dans
le cas de caractères, cette clause détermine la largeur du champ et la façon dont les
données qui dépassent doivent être gérés : elles peuvent être soit tronquées, soit
reportées sur la ligne suivante. Dans le cas de nombres, cette clause permet de
contrôler la quantité des chiffres à afficher et leur format.
SQL>
SQL>
SQL>
SQL>
SQL>
COLUMN
COLUMN
COLUMN
COLUMN
SELECT
USER TRUNC FORMAT A3
UTIL FORMAT A3
UID FORMAT 999
SYSDATE FORMAT A8
USER, USER UTIL, UID, SYSDATE FROM DUAL;
USE UTI UID SYSDATE
--- --- ---- -------STA STA
64 23/07/06
GIA
IRE
© Tsoft – SQL pour Oracle10g
2-17
Atelier 2
Atelier 2
!
Préparer le poste de développement
!
Connexion
!
Environnement SQL*Plus
!
Générer des scripts SQL
Durée : 45 minutes
TSOFT - ORACLE 10g SQL et PL*SQL
Module 2 : Les outils SQL*Plus - Diapo 2.18
Questions
2-1.
Quel est l'outil que vous retrouvez sur chaque serveur de base de données
installée ?
A. SQL*Plus.
B. iSQL*Plus.
C. SQL*Plus Worksheet
D. Oracle Enterprise Manager.
2-2.
SQL*Plus est-il un langage ou un environnement ?
2-3.
Pour utiliser iSQL*Plus sur une machine distante, avez-vous besoin d'installer
le client Oracle ?
2-4.
Quelle est la commande qui vous permet de vous connecter ?
2-5.
Dans la syntaxe de démarrage de SQL*Plus, pouvez-vous lancer l’exécution
d’un script ?
2-6.
Quelle est la commande qui vous permet de stocker dans un fichier tout ce qui
est affiché à l’écran ?
2-7.
Dans l’environnement SQL*Plus, peut-on exécuter des commandes du système
d’exploitation ?
2-8.
Citez trois types de paramètres de mise en forme des résultats des requêtes.
2-9.
Quelle est la commande qui vous permet de décrire la structure d’une vue ?
© Tsoft – SQL pour Oracle10g
2-39
Module 02 : Les outils SQL*Plus
Exercice n° 1
Préparer le poste de développement
Installez le schéma des exemples pour les ateliers en respectant la démarche décrite
dans ce module.
D:\>dir shema_exemple.zip
D:\>unzip shema_exemple.zip
D:\>cd Ora10gSQL
D:\Ora10gSQL>dir
D:\Ora10gSQL>slqplus /nolog @InitEnvStagiaireXE.sql
Téléchargez et Installez l’outil SQL Developer.
Exercice n° 2
Connexion
Démarrez SQL*Plus, en ligne de commande, avec le nom d’utilisateur du schéma
exemples « STAGIAIRE » et son mot de passe « PWD ».
Démarrez SQL Developer et paramétrez la connexion à la base de données.
Exercice n° 2
Environnement SQL*Plus
En utilisant SQL*Plus en ligne de commande, redirigez les sorties vers un fichier et
exécutez les commandes suivantes :
• Décrivez la table « COMMANDES » ;
• Déconnectez-vous de la base de données sans sortir du SQL*Plus ;
• Décrivez de nouveau la table « COMMANDES ». Que remarquez-vous ?
• Connectez vous ;
• Affichez l’utilisateur courant ;
• Arrêtez la redirection des sorties vers le fichier ;
• Sans quitter l’environnement, listez le fichier que vous venez de créer.
Exercice n° 3
Générer des scripts SQL
Connectez-vous à SQL*Plus, redirigez les sorties
« DESC_ALL.SQL » et exécutez les commandes suivantes :
2-40
vers
le
fichier
© Tsoft – SQL pour Oracle10g
Module 02 : Les outils SQL*Plus
• Interrogez la vue catalogue à l’aide de la syntaxe suivante :
SET PAGESIZE 0
SET ECHO OFF
SET FEEDBACK OFF
SELECT 'DESC '||TABLE_NAME FROM CAT
WHERE TABLE_TYPE = 'TABLE' ;
• Maintenant vous pouvez arrêter la redirection des sorties vers le fichier et exécuter
le script ainsi conçu.
© Tsoft – SQL pour Oracle10g
2-41
Index
IIndex
!
[
!=(différent de) .....................................................4-8, 12-13
[ ](crochets)................................................................... 4-11
[:alpha:](classe de caractères) ....................................... 4-14
[:alphanum:](classe de caractères) ................................ 4-14
[:cntrl:](classe de caractères) ........................................ 4-14
[:digit:](classe de caractères) ........................................ 4-14
[:lower:](classe de caractères)....................................... 4-14
[:print:](classe de caractères) ........................................ 4-14
[:punct:](classe de caractères)....................................... 4-14
[:space:](classe de caractères)....................................... 4-14
[:upper:](classe de caractères)....................................... 4-14
[:xdigit:](classe de caractères) ...................................... 4-14
$
$(symbole dollar) ..........................................................4-11
%
%(symbole pourcentage).................................................4-9
(
( )(parenthèses)..............................................................4-11
(+)(jointure externe) ......................................................11-7
'
'(apostrophe)....................................................................3-6
(
(barre oblique inversée).................................................4-11
-(tiret) ......................................................... 3-11, 3-13, 7-11
*
*(étoile) ............................................... 3-3, 3-11, 4-11, 7-11
.
.(point)....................................................................3-6, 3-11
/
^
^(accent circonflexe)..................................................... 4-11
^=(différent de) ............................................................... 4-8
_
_(tiret bas)....................................................................... 4-9
{
{ }(accolades) ............................................................... 4-11
|
|(barre verticale)............................................................ 4-11
||(concaténation)..................................................... 3-10, 5-6
+
+(plus)................................................3-11, 3-13, 4-11, 7-11
/(barre oblique).....................................................3-11, 7-11
<
?
<(inférieur à)............................................................... 12-13
<=(inférieur ou égal)................................................... 12-13
<>(différent de).................................................... 4-8, 12-13
?(point d’interrogation) .................................................4-11
© Tsoft – SQL pour Oracle10g
I-1
Index
=
BINARY_MAX_NORMAL ...................................... 6-4
BITMAP ....................................................................... 17-4
=(égal) .........................................................................12-13
>
>(supérieur à) ..............................................................12-13
>=(supérieur ou égal) ..................................................12-13
A
ABS...............................................................................6-11
ACCEPT .......................................................................2-21
ACOS............................................................................6-10
ADD_MONTHS ...........................................................7-16
ALIAS.............................................................................3-3
ALL......................3-3, 3-5, 4-21, 12-2, 12-13, 12-16, 21-30
ALTER
PROFIL ..................................................................19-14
ROLE......................................................................21-27
SEQUENCE ...........................................................18-10
TABLE ................................. 16-22, 16-24, 16-26, 16-33
TABLE DISABLE CONSTRAINT........................16-36
TABLE DROP CONSTRAINT..............................16-35
TABLE DROP UNUSED.......................................16-27
TABLE MOVE.......................................................16-31
TABLE RENAME..................................................16-30
TABLE SET UNUSED ..........................................16-27
USER ........................................................................20-8
ALTER SESSION
SET ISOLATION_LEVEL ....................................14-11
TIME_ZONE.....................................................7-3, 7-12
AND..............................................................................4-18
ANY...................................................................4-20, 12-15
AS ..................................................... 3-3, 8-3, 15-13, 15-16
ASC......................................................................3-18, 17-4
ASCII ............................................................................5-21
ASIN .............................................................................6-10
ATAN ...........................................................................6-10
Autojointure ..................................................................11-8
AUTOT[RACE]............................................................17-8
AVG................................................................................9-4
B
BETWEEN....................................................................4-18
BINARY_DOUBLE
BINARY_DOUBLE...................................................8-4
BINARY_DOUBLE_INFINITY................................6-4
BINARY_DOUBLE_MAX_NORMAL.....................6-4
BINARY_DOUBLE_MAX_SUBNORMAL .............6-4
BINARY_DOUBLE_MIN_NORMAL ......................6-4
BINARY_DOUBLE_MIN_SUBNORMAL ..............6-4
BINARY_DOUBLE_NAN ........................................6-4
BINARY_FLOAT
BINARY_FLOAT ......................................................8-4
BINARY_FLOAT_INFINITY ...................................6-4
BINARY_FLOAT_MAX_SUBNORMAL ................6-4
BINARY_FLOAT_MIN_NORMAL .........................6-4
BINARY_FLOAT_MIN_SUBNORMAL..................6-4
BINARY_FLOAT_NAN............................................6-4
I-2
C
CACHE....................................................................... 18-10
Caractère générique ........................................................ 4-9
CASCADE CONSTRAINTS ....16-28, 16-29, 16-38, 21-19
CASE............................................................................ 8-23
CAST.............................................................................. 8-3
CEIL ............................................................................. 6-12
CHAR ............................................................................. 4-6
CHECK................................................................ 16-3, 16-8
CHECK OPTION ................................................ 18-3, 18-6
CHR.............................................................................. 5-21
Clause NOT NULL....................................................... 1-10
Clés étrangères.............................................................. 1-10
Clés primaires ............................................................... 1-10
Client/Serveur ............................................................... 1-17
COALESCE.................................................................. 8-25
Colonnes ................................................................ 1-9, 15-7
COLUMN..................................................................... 2-17
COMMIT........................................................................ 2-9
COMPOSITE LIMIT.................................................. 19-12
CONCAT........................................................................ 5-6
CONNECT .................................................1-19, 2-7, 21-31
CONNECT_TIME...................................................... 19-11
Connexion....................................................................... 2-4
Constante chaîne de caractère ......................................... 3-6
Constante numérique ...................................................... 3-6
CONSTRAINT ............................................................. 16-2
Contrainte d’intégrité.................................................. 13-21
Contrainte unique.......................................................... 1-10
COS .............................................................................. 6-10
COSH ........................................................................... 6-10
COUNT .......................................................................... 9-6
CPU_PER_CALL....................................................... 19-11
CPU_PER_SESSION ................................................. 19-11
CREATE
DATABASE LINK ................................................ 18-12
INDEX ..................................................................... 17-3
PROFILE....................................................... 19-9, 19-13
ROLE ..................................................................... 21-24
SEQUENCE ............................................................. 18-9
SESSION.................................................................. 20-5
SYNONYM............................................................ 18-11
TABLE.......................15-18, 15-23, 15-26, 16-20, 17-18
TABLE AS............................................................. 15-35
TABLE OF............................................................. 15-30
TEMPORARY TABLE.......................................... 15-33
TYPE...................................................................... 15-12
TYPE BODY.......................................................... 15-16
USER ....................................................................... 20-3
VIEW ....................................................................... 18-2
CROSS JOIN .............................................................. 11-12
CUBE ............................................10-6, 10-9, 10-10, 10-12
CUME_DIST.............................................................. 10-35
CURRENT_DATE ....................................................... 7-12
CURRENT_TIMESTAMP........................................... 7-12
CURRVAL ................................................................. 18-10
CYCLE ......................................................................... 18-9
© Tsoft – SQL pour Oracle10g
Index
D
G
DATE..............................................................................8-6
DAY.....................................................................7-14, 7-20
DBA ............................................................................21-31
DBMS_FLASHBACK................................................14-19
DBTIMEZONE...............................................................7-2
DECODE .............................................................8-20, 8-23
DEFAULT ............................................. 13-7, 15-19, 16-24
DEFINE ........................................................................2-22
DELETE........................... 13-20, 13-21, 13-22, 15-34, 18-4
DENSE_RANK................................................10-32, 10-33
DESC ...................................................................3-18, 17-4
DESCRIBE ..........................................................2-14, 18-8
DIFERENCE.................................................................12-8
DISABLE....................................................................16-36
DISCONNECT ...............................................................2-9
DISTINCT ............................................ 3-3, 9-7, 12-2, 12-3
DROP
COLUMN ...............................................................16-26
CONSTRAINT .......................................................16-35
INDEX....................................................................17-22
PROFIL ..................................................................19-14
ROLE......................................................................21-27
SEQUENCE ...........................................................18-10
TABLE ...................................................................16-38
TABLE CASCADE CONSTRAINTS....................16-38
TABLE PURGE .....................................................22-16
USER ......................................................................20-11
VIEW........................................................................18-8
DUAL ...........................................................................3-23
GET .............................................................................. 2-10
GLOBAL .................................................................... 15-33
GRANT ...........................................1-15, 20-6, 21-9, 21-13
GREATEST.................................................................. 8-18
GROUP BY .....9-8, 9-9, 9-10, 9-12, 9-14, 10-3, 10-6, 10-9,
10-12, 18-4
GROUPING................................................................ 10-12
GROUPING SETS ............................................ 10-9, 10-12
GROUPING_ID .............................................. 10-14, 10-16
E
ECHO............................................................................2-18
EDIT .............................................................................2-10
ENABLE.....................................................................16-36
Espace de disque logique ................................................1-8
EXCEPT .....................................................................21-30
EXISTS .......................................................................12-20
EXIT ...............................................................................2-9
EXP .................................................................................6-9
Expression rationnelle ...................................................4-11
EXTRACT ....................................................................7-14
F
FEEDBACK..................................................................2-18
FIRST_VALUE ..........................................................10-38
FLASHBACK TABLE ...............................................22-16
FLOOR .........................................................................6-12
Fonction
Fonctions Analytiques ............................................10-19
Fonctions de groupe....................................................9-4
Fonctions Horizontales ...............................................9-2
Fonctions Verticales ............................................9-3, 9-4
FORCE..........................................................................18-3
FOREIGN KEY ............................................................16-3
FORMAT ........... 8-4, 8-6, 8-8, 8-10, 8-11, 8-12, 8-14, 8-15
FROM ............................................... 3-3, 11-3, 11-4, 12-22
FULL...........................................................................11-20
© Tsoft – SQL pour Oracle10g
H
HAVING ............................................................. 9-11, 9-12
HEADING .................................................................... 2-18
HIDE............................................................................. 2-21
HINT........................................................................... 17-16
HOST............................................................................ 2-13
HOUR........................................................................... 7-14
I
IDENTIFIED BY............................................... 21-9, 21-30
IDLE_TIME ............................................................... 19-11
IN_..................................................................... 4-19, 12-13
INCREMENT ............................................................... 18-9
Index bitmap ............................................................... 17-20
Index B-tree ................................................................ 17-10
INITCAP ........................................................................ 5-6
INSERT13-3, 13-4, 13-8, 13-9, 13-10, 13-21, 13-22, 15-19,
18-4
INSERT ALL .................................................. 13-11, 13-13
INSERT FIRST .......................................................... 13-16
INSTR........................................................................... 5-13
INTERSECT................................................................. 12-7
IS INFINITE................................................................... 6-6
IS NAN ........................................................................... 6-6
IS NOT NULL.............................................................. 4-28
IS NULL ....................................................................... 4-15
IS_ ................................................................... 15-13, 15-16
iSQL*Plus..................................................................... 2-25
J
JOIN ON.......................................................... 11-17, 11-19
JOIN USING .............................................................. 11-15
Jointure ......................................................................... 11-2
Jointure avec condition ................................................. 11-4
Jointure externe............................................................. 11-6
Jointure sans condition.................................................. 11-3
L
LAG............................................................................ 10-41
LAST_DAY.................................................................. 7-18
LAST_VALUE........................................................... 10-39
LCD .............................................................................. 1-12
LDD..................................................................... 1-12, 1-15
Le groupe........................................................................ 9-8
LEAD ......................................................................... 10-42
I-3
Index
LEAST ..........................................................................8-19
LEFT ...........................................................................11-20
LENGTH.......................................................................5-20
LID................................................................................1-12
Lignes.....................................................................1-9, 15-7
LIKE ...............................................................................4-9
LINESIZE .....................................................................2-16
LISTENER.........................................................1-18, 18-12
LMD............................................................. 1-12, 3-3, 13-2
LN ...................................................................................6-9
LOCALTIMESTAMP ..................................................7-13
LOCK TABLE ............................................................14-13
LOG ................................................................................6-9
LOGICAL_READS_PER_CALL...............................19-12
LOGICAL_READS_PER_SESSION .........................19-11
LONG ...........................................................................12-3
LOWER ..........................................................................5-5
LPAD ..............................................................................5-7
LTRIM ............................................................................5-9
M
Marqueur de position ......................................................4-9
MAX ...............................................................................9-5
MAXVALUE................................................................18-9
MIN.................................................................................9-5
MINUS..........................................................................12-8
MINUTE .......................................................................7-14
MINVALUE .................................................................18-9
MOD ...............................................................................6-8
MONTH ...............................................................7-14, 7-20
MONTHS_BETWEEN.................................................7-17
N
NANVL...........................................................................6-5
NATURAL JOIN .............................................11-13, 11-14
NCHR ...........................................................................5-21
netmgr ...........................................................................1-25
NEXT_DAY .................................................................7-18
NEXTVAL..................................................................18-10
NOCYCLE....................................................................18-9
NOFORCE ....................................................................18-3
NOT ..............................................................................4-27
NOT BETWEEN ..........................................................4-28
NOT IN ..............................................................4-27, 12-17
NOT NULL........9-5, 13-21, 15-19, 16-3, 16-6, 16-24, 18-4
NTILE .........................................................................10-36
NULL 3-14, 3-15, 3-18, 9-4, 9-5, 9-6, 9-7, 13-4, 13-6, 13-7,
13-8, 16-6, 16-24
NULL FIRST ......................................... 3-21, 10-24, 10-26
NULL LAST .......................................... 3-21, 10-24, 10-26
NULLIF ........................................................................8-25
NUMBER.................................................................4-6, 8-4
NUMTODSINTERVAL ...............................................8-15
NUMTOYMINTERVAL..............................................8-14
NVL ..............................................................................3-15
O
ON COMMIT .............................................................15-33
I-4
ON DELETE CASCADE ........................................... 16-18
ON DELETE SET NULL........................................... 16-19
Opérateur
ALL.......................................................................... 4-21
AND ......................................................................... 4-22
ANY ......................................................................... 4-20
BETWEEN............................................................... 4-18
Différent de ................................................................ 4-8
Egal à.......................................................................... 4-3
IN_ ........................................................................... 4-19
Inférieur à ................................................................... 4-5
IS NULL................................................................... 4-15
LIKE........................................................................... 4-9
Opérateur de concaténation ...................................... 3-10
Opérateurs arithmétique ........................................... 3-11
Opérateurs de type DATE ........................................ 3-13
Opérateurs ensembliste............................................. 12-2
Opérateurs logiques.. 4-3, 4-5, 4-8, 4-9, 4-11, 4-15, 4-18,
4-19, 4-20, 4-22, 4-24
OR ............................................................................ 4-24
REGEXP_LIKE ....................................................... 4-11
Supérieur à ................................................................. 4-5
ORACLE_HOME.......................................1-20, 1-35, 19-4
ORACLE_SID.............................................................. 1-35
ORDER BY ..... 3-18, 9-12, 10-24, 10-26, 12-3, 12-10, 18-3
OUTER JOIN .................................................... 11-6, 11-20
OVER ......................................................................... 10-19
P
PAGESIZE ................................................................... 2-16
Paramètres de mots de
passe FAILED_LOGIN_ATTEMPTS ..................... 19-3
Paramètres de mots de passe PASSWORD_GRACE_TIME
.................................................................................. 19-4
Paramètres de mots de passe PASSWORD_LIFE_TIME
.................................................................................. 19-3
Paramètres de mots de passe PASSWORD_LOCK_TIME
.................................................................................. 19-3
Paramètres de mots de passe PASSWORD_REUSE_MAX
.................................................................................. 19-3
Paramètres de mots de passe PASSWORD_REUSE_TIME
.................................................................................. 19-3
Paramètres de mots de
passe PASSWORD_VERIFY_FUNCTION ............ 19-4
PARTITION BY......................................................... 10-21
PERCENT_RANK ..................................................... 10-33
PL/SQL.........................................................1-14, 1-15, 2-2
POSITION .................................................................... 3-18
POWER .......................................................................... 6-8
PREDICAT..................................................................... 4-2
PRESERVE ................................................................ 15-34
PRIMARY KEY................ 13-4, 16-3, 16-10, 16-15, 16-36
PRIVATE_SGA ......................................................... 19-12
Privilège objet
ALTER..................................................................... 21-7
DELETE................................................................... 21-7
EXECUTE................................................................ 21-7
INSERT.................................................................... 21-7
READ....................................................................... 21-7
REFERENCE ........................................................... 21-7
© Tsoft – SQL pour Oracle10g
Index
SELECT....................................................................21-7
UPDATE ..................................................................21-7
Produit cartésien............................................................11-3
Produit relationnel .........................................................11-3
PROMPT.......................................................................2-21
Pseudocolonne................................... 3-13, 3-22, 8-7, 18-10
PUBLIC ......................................................................18-11
Q
Q 7-20
QUIT ...............................................................................2-9
R
RANK .........................................................................10-32
RATIO_TO_REPORT ................................................10-40
READ ONLY................................................................18-3
REFERENCES............................ 16-3, 16-15, 16-17, 21-19
REGEXP_INSTR..........................................................5-14
REGEXP_LIKE ............................................................4-11
REGEXP_REPLACE....................................................5-16
REGEXP_SUBSTR ......................................................5-11
REMARK......................................................................2-14
RENAME...........................................................16-30, 18-8
REPLACE..........................................................5-16, 15-16
RESSOURCE..............................................................21-31
REVOKE ...........................................................1-15, 21-19
RIGHT ........................................................................11-20
ROLLBACK .................................................................14-5
ROLLUP .............................. 10-3, 10-6, 10-9, 10-10, 10-12
ROUND ...............................................................6-13, 7-20
ROW_NUMBER ........................................................10-37
ROWID .................................................... 17-2, 17-4, 17-14
ROWNUM ....................................................................3-22
RPAD..............................................................................5-8
RTRIM..........................................................................5-10
RUN ................................................................................2-9
S
SAVE ............................................................................2-10
SAVEPOINT ................................................................14-5
SCN (System Change Number)...................................14-18
SCN_TO_TIMESTAMP.............................................14-22
SECOND.......................................................................7-14
SELECT
Le groupe....................................................................9-8
Opérateurs ensembliste .............................................12-2
Projection....................................................................3-3
Restriction...................................................................4-2
SCN | TIMESTAMP...............................................14-24
Sélection .....................................................................4-2
Sous-requête ...................................... 13-9, 13-10, 13-19
Tri du résultat............................................................3-18
VERSIONS BETWEEN.........................................14-26
Vue ...........................................................................18-3
SESSIONS_PER_USER .............................................19-11
SESSIONTIMEZONE ....................................................7-3
SET ..................................................................13-17, 13-19
SET ROLE ..................................................................21-30
© Tsoft – SQL pour Oracle10g
SIGN............................................................................. 6-11
SIN................................................................................ 6-10
SINH............................................................................. 6-10
SOUNDEX ................................................................... 5-20
Sous-requête synchronisé............................................ 12-19
Sous-requêtes.............................................................. 12-10
SPOOL ......................................................................... 2-11
SQL.........................1-2, 1-12, 1-14, 1-15, 2-2, 3-2, 3-3, 5-2
SQL*Plus........................................................2-2, 2-4, 22-3
SQL*Plus Worksheet.................................................... 2-23
SQLPLUS....................................................................... 2-6
SQRT.............................................................................. 6-9
START ......................................................................... 2-10
START WITH ..................................................... 18-4, 18-9
STDDEV ........................................................................ 9-6
SUBSTR ....................................................................... 5-11
SUM ............................................................................... 9-4
SYS_EXTRACT_UTC................................................. 7-15
SYSDATE .................................................................... 3-13
SYSDBA ...................................................................... 21-6
SYSTIMESTAMP ................................................. 7-13, 8-7
T
Tablespaces..................................................................... 1-8
TAN.............................................................................. 6-10
TANH ........................................................................... 6-10
TERMOUT................................................................... 2-18
TIME_ZONE................................................................ 7-12
TIMESTAMP ................................................................. 8-6
TIMESTAMP WITH LOCAL TIME ZONE.................. 8-6
TIMESTAMP WITH TIME ZONE................................ 8-6
TIMESTAMP_TO_SCN ............................................ 14-22
TIMEZONE_ABBR ..................................................... 7-14
TIMEZONE_HOUR..................................................... 7-14
TIMEZONE_MINUTE ................................................ 7-14
TIMEZONE_REGION ................................................. 7-14
tnsnames.ora ........................................................ 1-18, 1-20
TNSPING ..................................................................... 1-20
TO_BINARY_FLOAT ............................................ 8-8, 8-9
TO_CHAR............................................................... 8-4, 8-6
TO_DATE .................................................................... 8-10
TO_DSINTERVAL ...................................................... 8-13
TO_NCHAR ............................................................ 8-4, 8-6
TO_NUMBER................................................................ 8-8
TO_TIMESTAMP ........................................................ 8-11
TO_TIMESTAMP_TZ ................................................. 8-12
TO_YMINTERVAL..................................................... 8-13
Transaction ................................................................... 13-2
Transaction
COMMIT ................................................................. 14-4
Transaction
ROLLBACK ............................................................ 14-4
Transaction
SAVEPOINT............................................................ 14-5
TRANSLATE ............................................................... 5-19
TRIMSPOOL................................................................ 2-18
TRUNC................................................................ 6-14, 7-22
TRUNCATE ............................................................... 16-39
Type de donnée
BFILE..................................................................... 15-11
I-5
Index
BINARY_DOUBLE...................................................6-3
BINARY_FLOAT ......................................................6-3
BLOB .....................................................................15-11
CHAR ...................................................... 4-6, 5-3, 15-21
CLOB .....................................................................15-11
DATE .........................................................................7-5
INTERVAL DAY TO SECOND............. 7-8, 8-13, 8-15
INTERVAL YEAR TO MONTH............ 7-8, 8-13, 8-14
LOB .............................................................15-11, 15-23
LONG .....................................................................15-11
LONG RAW...........................................................15-11
NCHAR ......................................................................5-3
NCLOB...................................................................15-11
NUMBER ................................................ 4-6, 6-2, 15-21
NVARCHAR2 ............................................................5-3
ROWID.....................................................................15-9
TIMESTAMP .............................................................7-5
TIMESTAMP WITH LOCAL TIME ZONE..............7-5
TIMESTAMP WITH TIME ZONE............................7-5
UROWID................................................................15-10
VARCHAR2............................................ 4-6, 5-3, 15-21
Types de données ............................................................1-9
TZ_OFFSET .................................................................7-15
U
UNDEFINE...................................................................2-22
UNION..........................................................................12-4
UNIQUE ................................ 3-3, 16-3, 16-13, 16-15, 17-4
UPDATE..................................... 13-17, 13-21, 13-22, 18-4
UPPER ............................................................................5-5
USER ............................................................................2-15
UTC.................................................................................7-2
V
V$TIMEZONE_NAMES................................................7-3
VALUES..............................................................13-4, 13-8
VARCHAR2 ...................................................................4-6
Variable de substitution.................................................2-19
VARIANCE ....................................................................9-6
VERIFY ........................................................................2-20
VERSIONS_ENDSCN ...............................................14-26
VERSIONS_ENDTIME .............................................14-26
VERSIONS_STARTSCN ...........................................14-26
VERSIONS_STARTTIME .........................................14-26
VSIZE .............................................................................5-3
Vue du dictionnaire
ALL_ ........................................................................22-5
ALL_CATALOG....................................................22-11
ALL_CLU_COLUMNS .........................................22-19
ALL_CLUSTERS...................................................22-19
ALL_CONS_COLUMNS..............................16-4, 22-17
ALL_CONSTRAINTS ..................................16-3, 22-17
ALL_DIMENSIONS ..............................................22-19
I-6
ALL_IND_COLUMNS.......................................... 22-18
ALL_INDEXES ..................................................... 22-17
ALL_MVIEWS ...................................................... 22-19
ALL_OBJECTS ..................................................... 22-12
ALL_SEQUENCES ............................................... 22-16
ALL_SYNONYMS................................................ 22-16
ALL_TAB_COLUMNS......................................... 22-14
ALL_TABLES ....................................................... 22-13
ALL_TYPES.......................................................... 22-19
ALL_VIEWS ......................................................... 22-15
DBA_ ....................................................................... 22-5
DBA_AUDIT_OBJECT......................................... 22-27
DBA_AUDIT_SESSION ....................................... 22-27
DBA_AUDIT_STATEMENT................................ 22-27
DBA_AUDIT_TRAIL ........................................... 22-27
DBA_COL_PRIVS ................................................ 22-26
DBA_DATA_FILES.............................................. 22-21
DBA_DBLINK ...................................................... 22-19
DBA_EXTENTS.................................................... 22-23
DBA_LOBS ........................................................... 22-19
DBA_OBJ_AUDIT_OPTS .................................... 22-27
DBA_PROFILES ........................................ 20-13, 22-25
DBA_RECYCLEBIN ............................................ 22-16
DBA_ROLE_PRIVS.............................................. 22-26
DBA_ROLES......................................................... 22-25
DBA_SEGMENTS ................................................ 22-22
DBA_SYS_PRIVS................................................. 22-25
DBA_TAB_PRIVS ................................................ 22-25
DBA_TEMP_FILES .............................................. 22-22
DBA_TS_QUOTAS............................................... 22-22
DBA_USERS .............................................. 20-12, 22-25
DICT_COLUMNS ................................................... 22-7
DICTIONARY ......................................................... 22-6
SESSION_PRIVS .................................................... 21-4
USER_...................................................................... 22-5
USER_CATALOG................................................. 22-11
USER_CONS_COLUMNS...................................... 16-4
USER_CONSTRAINTS .......................................... 16-3
USER_TABLESPACES ........................................ 22-20
Vue dynamique
V$FIXED_TABLE .................................................. 22-5
W
WHEN .................................................... 8-23, 13-13, 13-16
WHERE ................. 4-2, 9-9, 9-11, 9-12, 11-4, 13-17, 13-20
WITH ADMIN OPTION................................... 21-9, 21-11
WITH GRANT OPTION............................................ 21-16
WW............................................................................... 7-20
Y
YEAR ........................................................................... 7-14
YYYY........................................................................... 7-20
© Tsoft – SQL pour Oracle10g
Avis du lecteur
Vos critiques et suggestions sont
indispensables !
TSOFT fait la mise à jour de ses ouvrages dès que vos remarques le justifient. Nous
comptons sur vous pour nous faire part de toute correction à effectuer ou de toute
amélioration à apporter.
Vous avez choisi les ouvrages TSOFT pour vous former ou former d’autres personnes. Vous
êtes donc les premiers concernés pour qu’à votre prochaine commande, le guide de
formation ait été rectifié si nécessaire ou complété s’il le faut.
Titre de l’ouvrage : .....................................................................................................................
Date de l'édition de cet ouvrage (voir dernière page) concernée par vos réponses : .................
Erreurs relevées (notez les pages concernées)
Sujets à ajouter (précisez éventuellement le chapitre)
Critiques et suggestions
M. Mme Mlle..................................................................Prénom ..............................................
Société..............................................................................Profession..........................................
Adresse .......................................................................................................................................
....................................................................................................................................................
Code postal ................Ville ......................................................... Pays ......................................
A télécopier ou découper et à envoyer à :
TSOFT – Service lecteurs – 10 rue du Colisée 75008 Paris
Fax : 01 53 76 03 64 - email : [email protected]
Consultez tous nos ouvrages sur le site Web : www.Tsoft.fr
© Tsoft – SQL pour Oracle10g
Guide de formation TSOFT
SQL pour Oracle 10g
Référence : TS0075
Novembre 2006
© Tsoft – SQL pour Oracle10g