Plan du cours
Introduction
- Objectifs
- Programme du cours
- Présentations
- Prérequis
- Responsabilités
Outils SQL
- Objectifs
- SQL Developer
- SQL Developer - Connexion
- Affichage des informations sur les tables
- Utilisation de SQL et SQL Developer - Requête
- Connexion SQL*Plus
- Connexion directe
- Utilisation de SQL*Plus
- Fin de session
- Commandes SQL*Plus
- Environnement SQL*Plus
- Invite de commandes SQL*Plus
- Recherche d'informations sur les tables
- Aide
- Utilisation de fichiers SQL
- iSQL*Plus, Modèles entité
- Tables ORDERS
- Tables FILM
- Fiche des tables du cours
- Syntaxe des instructions SQL
- Commandes SQL*Plus
Qu'est-ce que PL/SQL ?
- Qu'est-ce que PL/SQL ?
- Pourquoi utiliser PL/SQL ?
- Structure par blocs
- Affichage d'un message
- Code exemple
- Activation de SERVEROUTPUT
- Exemple de mise à jour, Guide de style
Variables
- Variables
- Types de données
- Définition de variables
- Constantes
- Variables locales et globales
- Variables de type %Type
- Variables de substitution
- Commentaires avec &
- Option Verify
- Variables &&
- Définir et indéfinir
Instruction SELECT
- Instruction SELECT
- Remplissage des variables
- Variables de type %Rowtype
- Fonction CHR
- Étude personnelle
- Enregistrements PL/SQL
- Déclarations exemples
Instructions conditionnelles
- Instruction IF
- Instruction SELECT
- Étude personnelle
- Instruction CASE
Gestion des erreurs
- Exception
- Erreurs internes
- Code et message d'erreur
- Utilisation de No Data Found
- Exceptions utilisateur
- Lever Raise Application Error
- Gestion des erreurs non définies
- Utilisation de PRAGMA EXCEPTION_INIT
- Validation et annulation (Commit et Rollback)
- Étude personnelle
- Blocs imbriqués
- Atelier
Itération - Boucles
- Instruction LOOP
- Instruction WHILE
- Instruction FOR
- Instruction GOTO et étiquettes
Curseurs
- Curseurs
- Attributs de curseur
- Curseurs explicites
- Exemple de curseur explicite
- Déclaration du curseur
- Déclaration de la variable
- Ouverture, récupération de la première ligne
- Récupération de la ligne suivante
- Sortie lorsque %Notfound est vrai
- Fermeture
- Boucle FOR I
- Boucle FOR II
- Exemple de mise à jour
- FOR UPDATE
- FOR UPDATE OF
- WHERE CURRENT OF
- Validation avec curseurs
- Exemple de validation I
- Exemple de validation II
- Paramètres de curseur
- Atelier
- Solution de l'atelier
Procédures, fonctions et packages
- Instruction CREATE
- Paramètres
- Corps de la procédure
- Affichage des erreurs
- Description d'une procédure
- Appel de procédures
- Appel de procédures dans SQL*Plus
- Utilisation de paramètres de sortie
- Appel avec paramètres de sortie
- Création de fonctions
- Fonction exemple
- Affichage des erreurs
- Description d'une fonction
- Appel de fonctions
- Appel de fonctions dans SQL*Plus
- Programmation modulaire
- Procédure exemple
- Appel de fonctions
- Appel de fonctions dans une instruction IF
- Création de packages
- Package exemple
- Raisons d'utiliser des packages
- Sous-programmes publics et privés
- Affichage des erreurs
- Description d'un package
- Appel de packages dans SQL*Plus
- Appel de packages depuis des sous-programmes
- Suppression d'un sous-programme
- Recherche de sous-programmes
- Création d'un package de débogage
- Appel du package de débogage
- Notation positionnelle et nominative
- Valeurs par défaut des paramètres
- Recompilation des procédures et fonctions
- Atelier
Déclencheurs
- Création de déclencheurs
- Déclencheurs au niveau de l'instruction
- Déclencheurs au niveau de la ligne
- Restriction WHEN
- Déclencheurs sélectifs - IF
- Affichage des erreurs
- Validation dans les déclencheurs
- Restrictions
- Déclencheurs mutatifs
- Recherche de déclencheurs
- Suppression d'un déclencheur
- Génération d'un numéro auto-incrémenté
- Désactivation des déclencheurs
- Activation des déclencheurs
- Noms des déclencheurs
Données exemples
- Tables ORDER
- Tables FILM
- Tables EMPLOYEE
SQL dynamique
- SQL dans PL/SQL
- Liage de variables
- SQL dynamique
- SQL dynamique natif
- DDL et DML
- Package DBMS_SQL
- SQL dynamique - SELECT
- Procédure SQL dynamique - SELECT
Utilisation de fichiers
- Utilisation de fichiers texte
- Package UTL_FILE
- Exemple d'écriture/ajout
- Exemple de lecture
- Exemple de déclencheur
- Packages DBMS_ALERT
- Package DBMS_JOB
COLLECTIONS
- Variables de type %Type
- Variables enregistrements
- Types de collections
- Tables indexées
- Définition de valeurs
- Éléments inexistants
- Tables imbriquées
- Initialisation de tables imbriquées
- Utilisation du constructeur
- Ajout à une table imbriquée
- Varrays
- Initialisation de varrays
- Ajout d'éléments à un varray
- Collections multicouches
- Liage massif
- Exemple de liage massif
- Questions transactionnelles
- Clause BULK COLLECT
- RETURNING INTO
Curseurs REF
- Variables de curseur
- Définir des types REF CURSOR
- Déclaration de variables de curseur
- Contraintes et non contraintes
- Utilisation de variables de curseur
- Exemples de variables de curseur
Pré requis
Ce cours convient uniquement aux participants possédant des connaissances de base en SQL.
Une expérience préalable avec un système informatique interactif est souhaitable mais non indispensable.
Nos clients témoignent (7)
J'ai apprécié l'expérience pratique et la possibilité de travailler sur des activités de codage réelles
Kristine - Isuzu Philippines Corporation
Formation - ORACLE PL/SQL Fundamentals
Traduction automatique
Reliez chaque sujet à un cas d'application dans le monde réel.
Ferdinand - National Grid Corporation of the Philippines
Formation - ORACLE PL/SQL Fundamentals
Traduction automatique
les pratiques et les notes de l'animateur
Hamda AlMahri - Dubai Courts
Formation - ORACLE PL/SQL Fundamentals
Traduction automatique
M. Khobeib était un excellent conférencier et formateur. En tant que débutant en PL/SQL, Khobeib a expliqué les bases avec beaucoup de patience tout au long de la formation. Il a répondu à toutes nos questions de manière exhaustive et a montré de nombreux exemples quand nous le lui demandions. J'ai vraiment appris beaucoup et je peux désormais commencer à effectuer des tâches en PL/SQL.
Abdulrahman Alsalami - Dubai Courts
Formation - ORACLE PL/SQL Fundamentals
Traduction automatique
le formateur a été très utile tout le temps
Maitha Alselais - Dubai Courts
Formation - ORACLE PL/SQL Fundamentals
Traduction automatique
L'animateur était fantastique sous tous les aspects. Il était très interactif et captivant. Plus important encore, les sujets étaient enseignés de manière très claire et à un rythme parfait pour terminer le cours. Je tiens vraiment à le remercier chaleureusement.
Vivek Thomas - Estee Lauder BV
Formation - ORACLE PL/SQL Fundamentals
Traduction automatique
C'était assez pratique, pas trop de théorie.
David Lambaerts - Estee Lauder BV
Formation - ORACLE PL/SQL Fundamentals
Traduction automatique