[{"data":1,"prerenderedAt":46},["ShallowReactive",2],{"course-programmation-pl-sql-pour-bases-de-donnees-oracle":3,"highlight-SQL-CREATE OR REPLACE PR":45},{"id":4,"name":5,"slug":6,"location":7,"targetAudienceFormatMarkdown":8,"prerequisitesFormatMarkdown":9,"objectivesFormatMarkdown":10,"descriptionFormatMarkdown":11,"teachingMethodsFormatMarkdown":12,"teachingResourcesFormatMarkdown":13,"evaluationMethodsFormatMarkdown":14,"accessibilityFormatMarkdown":15,"accessMethodsFormatMarkdown":16,"minimumParticipants":17,"maximumParticipants":17,"duration":18,"reference":19,"trainerType":7,"updated_at":20,"created_at":21,"price":22,"organizationMode":7,"theme":23,"code":27,"tags":32,"metadata":36},"/api/courses/601239b3-5265-4cff-bd40-68562d211ab7","Programmation PL/SQL pour bases de données Oracle","programmation-pl-sql-pour-bases-de-donnees-oracle",null,"Développeurs et intégrateurs souhaitant automatiser des traitements dans une base Oracle. \n\nAdministrateurs de bases de données désirant étendre et optimiser des scripts SQL avec des blocs PL/SQL. \n\nAnalystes et techniciens en informatique impliqués dans des projets d’évolution ou de maintenance de bases Oracle. \n\nToute personne devant écrire ou maintenir des programmes PL/SQL dans un contexte professionnel.","-   Connaissance de base du langage SQL (sélection, jointures, fonctions simples). \n-   Notions générales sur les systèmes de gestion de bases de données relationnelles. \n-   Utilisation d’un outil de requête Oracle (SQL*Plus, SQL Developer ou équivalent). \n-   Aucun prérequis spécifique en programmation structurée n’est indispensable, mais une première expérience d’un langage (Python, Java, C…) est un plus. ","-   Comprendre l’architecture PL/SQL et son intégration dans l’environnement Oracle Database. \n-   Écrire des blocs PL/SQL structurés, stockés ou anonymes, pour automatiser des traitements. \n-   Utiliser les structures de contrôle (conditions, boucles), les exceptions et les curseurs pour gérer le flux des programmes. \n-   Concevoir et déployer des procédures, fonctions, packages et triggers pour des besoins applicatifs robustes. \n-   Optimiser et tester des programmes PL/SQL en tenant compte des bonnes pratiques de performance et de sécurité. ","--day1--\n\n## Introduction à PL/SQL et blocs de base \n\n-   Présentation de l’environnement Oracle et contexte d’utilisation de PL/SQL. \n-   Concepts fondamentaux : architecture du moteur PL/SQL, avantages par rapport au SQL simple. \n-   Syntaxe d’un bloc PL/SQL : sections déclaration, exécution et exception. \n-   Types de données PL/SQL et conversions simples. \n\nAtelier pratique : exécution de blocs PL/SQL anonymes et contrôle des résultats. \n\n--break--\n\n## Structures de contrôle et logique conditionnelle \n\n-   Instructions conditionnelles (IF, CASE) pour diriger le flux d’exécution. \n-   Boucles et itérations (LOOP, WHILE, FOR). \n-   Gestion des variables, des constantes et des scopes. \n\nAtelier pratique : utilisation des structures de contrôle pour résoudre des cas réels (calculs, mises à jour conditionnelles). \n\n--day2--\n\n## Curseurs et traitement des ensembles de données \n\n-   Concepts des curseurs explicites et implicites. \n-   Ouverture, lecture et fermeture de curseurs. \n-   Opérations sur plusieurs lignes avec BULK COLLECT / FORALL. \n\nAtelier pratique : lecture et traitement de jeux de données avec curseurs adaptés. \n\n--break--\n\n## Gestion des erreurs et des exceptions \n\n-   Types d’exceptions standards et personnalisées. \n-   Détection et traitement des erreurs dans les blocs PL/SQL. \n-   Affichage, journalisation ou renvoi des erreurs pour diagnostic. \n\nAtelier pratique : implémentation d’une gestion robuste des erreurs dans des programmes PL/SQL. \n\n--day3--\n\n## Procédures et fonctions stockés \n\n-   Différencier procédures et fonctions, choix d’usage. \n-   Paramètres d’entrée/sortie et modes d’appel. \n-   Déploiement et modification de programmes stockés. \n\nAtelier pratique : développement de procédures et fonctions pour automatiser des processus métier. \n\n--break--\n\n## Packages et triggers \n\n-   Introduction aux packages : spécification et corps. \n-   Groupement logique de sous-programmes et variables globales. \n-   Conception et déploiement de triggers pour automatiser des actions en réponse à des événements de table. \n\nAtelier pratique : création de packages modulaires et triggers applicatifs.","Nos formations, équilibrées entre théorie (50%) et pratique (50%), offrent un apprentissage interactif grâce à des méthodes variées comme les travaux pratiques, les mises en situation et les démonstrations. Des QCM réguliers assurent le suivi des acquis.\n\nVariables suivant les formations, les moyens techniques mis en oeuvre sont :\n\nOrdinateurs Mac ou PC, connexion internet fibre, tableau blanc ou écran (pour le distanciel).\n\nEn cas de formation intra sur site externe à Le Code, le client s'assure et s'engage également à avoir toutes les ressources matérielles pédagogiques nécessaires\n\n(équipements informatiques...) au bon déroulement de l'action de formation visée conformément aux prérequis indiqués dans le programme de formation communiqué","Les supports pédagogiques sont remis aux stagiaires sous format numérique et/ou papier selon les modalités de la formation.\n\n  \n\nIls comprennent des supports de cours, des présentations, des fiches pratiques, des études de cas, des exercices applicatifs ainsi que des QCM d’entraînement selon la formation. (adapté au choix du formateur)\n\n  \n\nLes formations s’appuient sur des moyens techniques adaptés : ordinateurs, logiciels professionnels, connexion internet, écran ou vidéoprojecteur, ainsi que des outils collaboratifs et de visioconférence pour les formations à distance.\n\n  \n\nL’ensemble des supports pédagogiques est accessible pendant et après la formation afin de favoriser l’appropriation et la mise en pratique des compétences acquises.","En amont de la formation, un recueil des besoins permet de récolter des informations sur le stagiaire et ses attentes. L’évaluation se fait en cours de formation, par des études de cas ou des travaux pratiques. En fin de formation, par un questionnaire d’auto-évaluation et/ou un examen.\n\nUn suivi de qualité est effectué grâce à nos sessions en groupe restreint (entre 2 et 9 participants maximum). Le stagiaire émargera par demi-journée et recevra une attestation de formation.","Nous informons l'ensemble de nos clients et stagiaires que nous sommes dans la capacité d’adapter les sessions selon les handicaps et les situations spécifiques. Nous nous engageons à répondre à toutes vos demandes sous un délai de 48h\n\nouvré.","Si l’une de nos formations vous intéresse, contactez-nous au +33 4 93 65 34 24 ou à l’adresse mail contact@m2g-intellect.fr. Selon votre besoin et vos attentes, nous organiserons un échange téléphonique avec le formateur pressenti afin d’adapter la\n\nformation et ses modules, puis nous vous adresserons un devis.\n\nLes dates de la formation seront à convenir sous 30 jours maximum.",0,"21.00","PL SQL","2026-04-29T13:02:20+00:00","2026-04-29T12:58:30+00:00","2250.00",{"id":24,"name":25,"slug":26},"/api/themes/b00f0fff-150d-444f-aced-509768f8da96","Bases de données","bases-de-donnees",{"id":28,"label":29,"domain":30},"/api/training_specialities/163","326 - Informatique, traitement de l’information, réseaux de transmission des données",{"label":31},"32 - Communication et information",[33],{"id":34,"name":35},"7732139d-6025-4fde-b145-39298ced3408","MENUFEATURED",{"desc-accroche":37,"Description":38,"icon-color":39,"icon-name":40,"code-langage":41,"code-snippet":42,"courte-description":43,"titre-accroche":44},"Maîtrisez la programmation côté serveur avec PL/SQL : apprenez à écrire des procédures stockées, des fonctions, des triggers et des packages robustes pour optimiser les performances et la sécurité de vos bases de données Oracle.","Le langage PL/SQL est l'extension procédurale indispensable pour tout développeur travaillant sur l'écosystème Oracle. Cette formation vous enseigne comment structurer votre logique métier directement au sein de la base de données pour minimiser les échanges réseau et maximiser l'efficacité des traitements. Vous aborderez la gestion des curseurs, le traitement des exceptions, ainsi que les techniques avancées de manipulation de collections. À l'issue de ce cursus, vous serez capable de concevoir des architectures de données cohérentes, capables de gérer des volumes massifs d'informations avec une intégrité irréprochable.","#F44336","mdi:database-edit","SQL","CREATE OR REPLACE PROCEDURE update_inventory (\n\tp_prod_id IN NUMBER,\n\tp_quantity IN NUMBER\n) AS\nBEGIN\n\tUPDATE products\n\tSET stock = stock - p_quantity\n\tWHERE id = p_prod_id;\n\n\tIF SQL%NOTFOUND THEN\n\t\tRAISE_APPLICATION_ERROR(-20001, 'Produit introuvable');\n\tEND IF;\nEND;","Apprenez à développer des solutions performantes avec PL/SQL : maîtrisez les blocs anonymes, les procédures stockées et les triggers sous Oracle.","Exploitez toute la puissance du moteur Oracle en développant des traitements de données complexes, performants et sécurisés.","\u003Cpre class=\"hljs\">\u003Ccode class=\"language-sql\">\u003Cspan class=\"hljs-keyword\">CREATE\u003C/span> \u003Cspan class=\"hljs-keyword\">OR\u003C/span> REPLACE \u003Cspan class=\"hljs-keyword\">PROCEDURE\u003C/span> update_inventory (\n\tp_prod_id \u003Cspan class=\"hljs-keyword\">IN\u003C/span> NUMBER,\n\tp_quantity \u003Cspan class=\"hljs-keyword\">IN\u003C/span> NUMBER\n) \u003Cspan class=\"hljs-keyword\">AS\u003C/span>\n\u003Cspan class=\"hljs-keyword\">BEGIN\u003C/span>\n\t\u003Cspan class=\"hljs-keyword\">UPDATE\u003C/span> products\n\t\u003Cspan class=\"hljs-keyword\">SET\u003C/span> stock \u003Cspan class=\"hljs-operator\">=\u003C/span> stock \u003Cspan class=\"hljs-operator\">-\u003C/span> p_quantity\n\t\u003Cspan class=\"hljs-keyword\">WHERE\u003C/span> id \u003Cspan class=\"hljs-operator\">=\u003C/span> p_prod_id;\n\n\tIF \u003Cspan class=\"hljs-keyword\">SQL\u003C/span>\u003Cspan class=\"hljs-operator\">%\u003C/span>NOTFOUND \u003Cspan class=\"hljs-keyword\">THEN\u003C/span>\n\t\tRAISE_APPLICATION_ERROR(\u003Cspan class=\"hljs-number\">-20001\u003C/span>, \u003Cspan class=\"hljs-string\">&#x27;Produit introuvable&#x27;\u003C/span>);\n\t\u003Cspan class=\"hljs-keyword\">END\u003C/span> IF;\n\u003Cspan class=\"hljs-keyword\">END\u003C/span>;\u003C/code>\u003C/pre>",1781121854222]