0% ont trouvé ce document utile (0 vote)
25 vues8 pages

Leçon 1: Introduction À PL/SQL

PL/SQL est un langage de programmation intégré à Oracle qui combine SQL et des fonctionnalités procédurales, permettant une gestion efficace des erreurs et une programmation structurée. Il offre des avantages tels qu'une intégration directe avec SQL, une réduction du trafic réseau, et un développement d'applications Web. APEX, une plateforme de développement d'applications web d'Oracle, permet de créer rapidement des applications basées sur des bases de données avec une approche low-code.

Transféré par

Helen Cachina Mañamba
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
25 vues8 pages

Leçon 1: Introduction À PL/SQL

PL/SQL est un langage de programmation intégré à Oracle qui combine SQL et des fonctionnalités procédurales, permettant une gestion efficace des erreurs et une programmation structurée. Il offre des avantages tels qu'une intégration directe avec SQL, une réduction du trafic réseau, et un développement d'applications Web. APEX, une plateforme de développement d'applications web d'Oracle, permet de créer rapidement des applications basées sur des bases de données avec une approche low-code.

Transféré par

Helen Cachina Mañamba
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Leçon 1 : Introduction à PL/SQL

Qu'est-ce que PL/SQL ?

PL/SQL (Procedural Language/Structured Query Language) est un langage de


programmation intégré à Oracle qui combine les fonctionnalités de SQL avec celles des
langages procéduraux. Il a été conçu pour surmonter les limitations du SQL dans un
environnement de production, où tous les utilisateurs ne possèdent pas nécessairement des
connaissances en SQL et peuvent faire des erreurs de saisie.

Caractéristiques de PL/SQL

• Intégration avec SQL : PL/SQL est étroitement lié à SQL, ce qui permet d'utiliser les
commandes SQL dans des blocs de code PL/SQL.
• Gestion des erreurs : PL/SQL offre une vérification d'erreur étendue, permettant de
gérer les exceptions de manière efficace.
• Types de données variés : Le langage prend en charge de nombreux types de
données, facilitant la manipulation et le traitement des informations.
• Structures de programmation : PL/SQL supporte une variété de structures de
programmation, incluant des boucles et des conditions.
• Programmation structurée : Il permet la création de fonctions et de procédures,
favorisant la modularité et la réutilisation du code.
• Programmation orientée objet : PL/SQL supporte des concepts de la
programmation orientée objet, facilitant la modélisation de données complexes.
• Développement d'applications Web : Il est adapté pour le développement
d'applications Web et de pages de serveur.

Différences entre SQL et PL/SQL

SQL est un langage de requête standard utilisé principalement pour l'accès aux données,
tandis que PL/SQL est un langage de programmation de troisième génération (3GL)
propriétaire d'Oracle. Alors que SQL permet d'exécuter des requêtes isolées, PL/SQL permet
de regrouper des instructions SQL et d'exécuter des blocs de code, ajoutant ainsi une capacité
de logique procédurale.

Leçon 2 : Avantages de PL/SQL


PL/SQL présente plusieurs avantages qui en font un choix privilégié pour le développement
d'applications dans les environnements Oracle :
1. Intégration avec SQL : PL/SQL profite de l'intégration directe avec SQL, permettant
d'exécuter des opérations DML (Data Manipulation Language) et des transactions au
sein d'un bloc de code PL/SQL.
2. Réduction du trafic réseau : En envoyant un bloc entier d'instructions à la base de
données, PL/SQL réduit le trafic réseau, ce qui améliore les performances des
applications.
3. Productivité accrue : Les programmeurs bénéficient d'une productivité améliorée
grâce à la possibilité d'interroger, de transformer et de mettre à jour des données en
une seule opération.
4. Outils puissants pour le développement : PL/SQL offre des fonctionnalités
avancées telles que la gestion des exceptions, l'encapsulation et le masquage de
données, facilitant le développement et le débogage.
5. Portabilité des applications : Les applications développées en PL/SQL sont
entièrement portables, ce qui facilite leur déploiement sur différents systèmes.
6. Sécurité élevée : PL/SQL fournit un niveau de sécurité robuste, protégeant les
données sensibles et les opérations critiques.
7. Accès aux packages prédéfinis : Les développeurs peuvent utiliser des packages
SQL prédéfinis, enrichissant ainsi les capacités des applications.
8. Support pour la programmation orientée objet : Cela permet de modéliser des
concepts complexes et de faciliter la gestion des données.
9. Développement d'applications Web : PL/SQL est également adapté pour le
développement d'applications Web, permettant de créer des pages de serveur
dynamiques.

L'extraction des données pl/SQL

• Les curseurs : Un curseur est un mécanisme qui permet de parcourir les


résultats d'une requête SQL de manière itérative. Il permet de traiter une
ligne à la fois dans un ensemble de résultats. Les curseurs sont
particulièrement utiles lorsque l'on souhaite effectuer des opérations sur
chaque ligne d'un ensemble de résultats.
➢ La déclaration
➢ Ouverture
➢ Extraction
➢ Fermeture

Exemple

DECLARE v_employee_id employees.employee_id%TYPE; v_first_name


employees.first_name%TYPE; v_last_name employees.last_name%TYPE; BEGIN OPEN
c_employees;

LOOP
FETCH c_employees INTO v_employee_id, v_first_name, v_last_name;
EXIT WHEN c_employees%NOTFOUND; -- Sortir de la boucle si aucune
ligne n'est trouvée

-- Traitement des données extraites


DBMS_OUTPUT.PUT_LINE('ID: ' || v_employee_id || ', Name: ' ||
v_first_name || ' ' || v_last_name);
END LOOP;

CLOSE c_employees; -- Fermeture du curseur

END;

Les conditions en pl/SQL

Les conditions sont utilisées pour contrôler le flux d'exécution d’un programme. Principales
structures conditionnelles en PL/SQL.

1. Instruction IF

L'instruction IF permet d'exécuter un bloc de code en fonction d'une condition.

Syntaxe de base

IF condition THEN
-- bloc de code à exécuter si la condition est vraie
ELSIF autre_condition THEN
-- bloc de code à exécuter si l'autre condition est vraie
ELSE
-- bloc de code à exécuter si aucune des conditions précédentes
n'est vraie
END IF;

Exemple

DECLARE
v_score NUMBER := 85;
BEGIN
IF v_score >= 90 THEN
DBMS_OUTPUT.PUT_LINE('Note: A');
ELSIF v_score >= 80 THEN
DBMS_OUTPUT.PUT_LINE('Note: B');
ELSIF v_score >= 70 THEN
DBMS_OUTPUT.PUT_LINE('Note: C');
ELSE
DBMS_OUTPUT.PUT_LINE('Note: D');
END IF;
END;

2. Instruction CASE

L'instruction CASE permet de simplifier le code lorsque vous avez plusieurs conditions à
évaluer.

Syntaxe de base

CASE expression
WHEN valeur1 THEN
-- bloc de code si l'expression est égale à valeur1
WHEN valeur2 THEN
-- bloc de code si l'expression est égale à valeur2
ELSE
-- bloc de code si aucune des valeurs ne correspond
END CASE;

Exemple

DECLARE
v_mois NUMBER := 3;
BEGIN
CASE v_mois
WHEN 1 THEN
DBMS_OUTPUT.PUT_LINE('Janvier');
WHEN 2 THEN
DBMS_OUTPUT.PUT_LINE('Février');
WHEN 3 THEN
DBMS_OUTPUT.PUT_LINE('Mars');
ELSE
DBMS_OUTPUT.PUT_LINE('Autre mois');
END CASE;
END;
3. Boucles conditionnelles

Bien que ce ne soit pas strictement une condition, les boucles peuvent utiliser des conditions
pour contrôler leur exécution.

Exemple avec une boucle WHILE

DECLARE
v_counter NUMBER := 0;
BEGIN
WHILE v_counter < 5 LOOP
DBMS_OUTPUT.PUT_LINE('Compteur: ' || v_counter);
v_counter := v_counter + 1;
END LOOP;
END;

Les boucles

➢ Boucle de base Loop : est une boucle qui doit être arrêtée par une
instruction EXIT.
➢ Boucle pour : (for) utilisee pour itérer sur une séquence de nombres.
➢ Boucle tactique : (while) elle s’exécute tant qu’une condition est vraie.

Les procédures et fonctions en pl/SQL

1. Procédures en PL/SQL

Une procédure est un bloc de code qui s'exécute lorsqu'elle est appelée. Elle peut accepter des
paramètres et exécuter des opérations, mais ne renvoie pas de valeur.

Syntaxe de base d'une procédure

CREATE OR REPLACE PROCEDURE nom_procedure (param1 IN TYPE1, param2


OUT TYPE2) AS
BEGIN
-- Corps de la procédure
-- Logique de traitement
END nom_procedure;
Exemple de procédure

CREATE OR REPLACE PROCEDURE ajouter_employe (


p_nom IN VARCHAR2,
p_age IN NUMBER,
p_id OUT NUMBER
) AS
BEGIN
INSERT INTO employes (nom, age) VALUES (p_nom, p_age) RETURNING
id INTO p_id;
END ajouter_employe;

2. Fonctions en PL/SQL

Une fonction est similaire à une procédure, mais elle renvoie une valeur. Elle peut également
accepter des paramètres.

Syntaxe de base d'une fonction

CREATE OR REPLACE FUNCTION nom_fonction (param1 IN TYPE1) RETURN


TYPE2 AS
BEGIN
-- Corps de la fonction
RETURN valeur;
END nom_fonction;

Exemple de fonction

CREATE OR REPLACE FUNCTION calculer_age (


p_date_naissance IN DATE
) RETURN NUMBER AS
v_age NUMBER;
BEGIN
v_age := FLOOR(MONTHS_BETWEEN(SYSDATE, p_date_naissance) / 12);
RETURN v_age;
END calculer_age;

3. Appel d'une procédure ou d'une fonction

Pour appeler une procédure, vous pouvez utiliser un bloc PL/SQL anonyme :
DECLARE
v_id NUMBER;
BEGIN
ajouter_employe('Alice', 30, v_id);
DBMS_OUTPUT.PUT_LINE('Nouvel employé ID: ' || v_id);
END;

Pour appeler une fonction :

DECLARE
v_age NUMBER;
BEGIN
v_age := calculer_age(TO_DATE('1990-01-01', 'YYYY-MM-DD'));
DBMS_OUTPUT.PUT_LINE('L\'âge est: ' || v_age);
END;

4. Gérer les erreurs

Il est souvent important de gérer les erreurs dans vos procédures et fonctions. Cela se fait
généralement avec un bloc EXCEPTION.

Exemple avec gestion d'erreurs

CREATE OR REPLACE PROCEDURE ajouter_employe (


p_nom IN VARCHAR2,
p_age IN NUMBER,
p_id OUT NUMBER
) AS
BEGIN
INSERT INTO employes (nom, age) VALUES (p_nom, p_age) RETURNING
id INTO p_id;
EXCEPTION
WHEN DUP_VAL_ON_INDEX THEN
DBMS_OUTPUT.PUT_LINE('Erreur : Employé déjà existant.');
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('Erreur : ' || SQLERRM);
END ajouter_employe;

Logiciel APEX
Apex est une plateforme de développement d'applications web proposée par Oracle,
principalement utilisée pour créer des applications basées sur des bases de données Oracle.
Elle permet aux développeurs de concevoir des applications de manière rapide et intuitive, en
utilisant une approche low-code, ce qui signifie que peu de code est nécessaire pour créer des
fonctionnalités complexes.

Voici quelques caractéristiques clés d'Oracle APEX :

1. Développement rapide : APEX permet de créer des applications en quelques clics


grâce à son interface utilisateur conviviale.
2. Intégration avec Oracle Database : Étant une solution Oracle, APEX est
parfaitement intégré avec les bases de données Oracle, ce qui facilite l'accès et la
manipulation des données.
3. Responsive Design : Les applications développées avec APEX sont généralement
réactives et s'adaptent bien aux différents appareils, y compris les smartphones et les
tablettes.
4. Sécurité : APEX inclut des fonctionnalités de sécurité robustes pour protéger les
données des utilisateurs.
5. Développement collaboratif : Plusieurs développeurs peuvent travailler sur le même
projet, ce qui favorise la collaboration et l'efficacité.
6. Extensibilité : APEX permet d'intégrer du code personnalisé en utilisant des langages
comme PL/SQL, JavaScript et CSS pour étendre les fonctionnalités des applications.
7. Déploiement sur le cloud : Les applications APEX peuvent être déployées sur Oracle
Cloud ou sur des installations locales.

Vous aimerez peut-être aussi