Plan du cours
Introduction
- Objectifs et buts
- Emploi du temps 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, SQL Developer - Requête
- Connexion SQL*Plus
- Connexion directe
- Utilisation de SQL*Plus
- Fin de la session
- Commandes SQL*Plus
- Environnement SQL*Plus
- Invite de commande SQL*Plus
- Trouver des informations sur les tables
- Obtenir de l'aide
- Utilisation des fichiers SQL
- iSQL*Plus, Modèles d'entité
- Les tables ORDERS
- Les tables FILM
- Document 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 de bloc
- Affichage d'un message
- Code exemple
- Configuration de SERVEROUTPUT
- Exemple de mise à jour, Guide de style
Variables
- Variables
- Types de données
- Définition des variables
- Constantes
- Variables locales et globales
- Variables %Type
- Variables de substitution
- Commentaires avec &
- Option Verify
- Variables &&
- Define et Undefine
Instruction SELECT
- Instruction SELECT
- Remplissage des variables
- Variables %Rowtype
- Fonction CHR
- Étude personnelle
- Enregistrements PL/SQL
- Déclarations d'exemple
Instruction conditionnelle
- Instruction IF
- Instruction SELECT
- Étude personnelle
- Instruction Case
Gestion des erreurs
- Exception
- Erreurs internes
- Code d'erreur et message
- Utilisation de No Data Found
- Exceptions utilisateur
- Raise Application Error
- Gestion des erreurs non définies
- Utilisation de PRAGMA EXCEPTION_INIT
- 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
- Fermeture
- Boucle For I
- Boucle For II
- Exemple de mise à jour
- FOR UPDATE
- FOR UPDATE OF
- WHERE CURRENT OF
- Commit 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
- Décrire une procédure
- Appel de procédures
- Appel de procédures dans SQL*Plus
- Utilisation des paramètres de sortie
- Appel avec paramètres de sortie
- Création de fonctions
- Fonction exemple
- Affichage des erreurs
- Décrire 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
- Exemple de package
- Raisons d'utiliser les packages
- Sous-programmes publics et privés
- Affichage des erreurs
- Décrire un package
- Appel de packages dans SQL*Plus
- Appel de packages depuis des sous-programmes
- Suppression d'un sous-programme
- Trouver des sous-programmes
- Création d'un package de débogage
- Appel du package de débogage
- Notation positionnelle et nommée
- 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
- Commit dans les déclencheurs
- Restrictions
- Déclencheurs mutatifs
- Trouver des déclencheurs
- Suppression d'un déclencheur
- Génération d'un numéro automatique
- Désactivation des déclencheurs
- Activation des déclencheurs
- Noms des déclencheurs
Données d'exemple
- Tables ORDER
- Tables FILM
- Tables EMPLOYEE
SQL dynamique
- SQL dans PL/SQL
- Liage
- SQL dynamique
- SQL dynamique natif
- DDL et DML
- Package DBMS_SQL
- SQL dynamique - SELECT
- Procédure SQL dynamique - SELECT
Utilisation des fichiers
- Utilisation de fichiers texte
- Package UTL_FILE
- Exemple d'écriture / ajout
- Exemple de lecture
- Exemple de déclencheur
- Package DBMS_ALERT
- Package DBMS_JOB
COLLECTIONS
- Variables %Type
- Variables d'enregistrement
- Types de collection
- Tables indexées par sous-programme
- Définition des valeurs
- Éléments inexistants
- Tables imbriquées
- Initialisation de la table imbriquée
- Utilisation du constructeur
- Ajout à une table imbriquée
- Varray
- Initialisation du varray
- Ajout d'éléments à un varray
- Collections multiniveau
- Liage par lots
- Exemple de liage par lots
- Questions transactionnelles
- Clause BULK COLLECT
- RETURNING INTO
Curseurs REF
- Variables de curseur
- Définir les types REF CURSOR
- Déclaration des variables de curseur
- Contraintes et non contraintes
- Utilisation des variables de curseur
- Exemples de variables de curseur
Pré requis
Le cours est uniquement adapté aux personnes ayant des connaissances de base en SQL.
Une expérience préalable avec un système informatique interactif est souhaitable mais non essentielle.
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