Guide des variables PL/SQL pour débutants
Salut à toi, futur magicien PL/SQL ! Aujourd'hui, nous allons entreprendre un voyage passionnant à la découverte du monde des variables PL/SQL. Ne t'inquiète pas si tu es nouveau dans le monde de la programmation – je serai ton guide bienveillant, et nous avancerons pas à pas. À la fin de ce tutoriel, tu manipuleras les variables comme un pro !
Qu'est-ce que les variables ?
Avant de plonger dedans, comprehensionnons ce qu'elles sont. Les variables sont comme de petits conteneurs dans la mémoire de ton ordinateur qui stockent des données. Comme tu pourrais utiliser différents boîtes pour stocker différents types d'objets dans ta chambre, nous utilisons des variables pour stocker différents types de données dans nos programmes.
Déclaration de variables en PL/SQL
En PL/SQL, déclarer une variable, c'est comme se présenter à quelqu'un de nouveau. Tu dis au programme : "Salut, je suis là, et voici ce que je peux contenir !"
Syntaxe de base
La syntaxe de base pour déclarer une variable en PL/SQL est :
nom_variable type_donnee;
Décomposons cela :
-
nom_variable
est ce que tu choisis d'appeler ta variable -
type_donnee
est le type de données que la variable peut contenir
Exemples
DECLARE
mon_nom VARCHAR2(50);
mon_age NUMBER;
est_etudiant BOOLEAN;
BEGIN
-- Ton code ici
END;
Dans cet exemple :
-
mon_nom
peut contenir jusqu'à 50 caractères -
mon_age
peut contenir un nombre -
est_etudiant
peut être VRAI ou FAUX
Souviens-toi, en PL/SQL, nous déclarons les variables dans la section DECLARE, avant l'instruction BEGIN.
Types de données courants
Voici un tableau des types de données courants que tu rencontreras :
Type de données | Description | Exemple |
---|---|---|
VARCHAR2 | Chaîne de caractères de longueur variable | 'Bonjour, monde !' |
NUMBER | Valeurs numériques | 42, 3.14 |
DATE | Valeurs de date et heure | '01-JAN-2023' |
BOOLEAN | Valeurs logiques (VRAI/FAUX) | VRAI |
Initialisation des variables en PL/SQL
Maintenant que nous avons déclaré nos variables, donnons-leur des valeurs ! Ce processus s'appelle l'initialisation.
Initialisation de base
Tu peux initialiser une variable directement lorsque tu la déclares :
DECLARE
salutation VARCHAR2(20) := 'Bonjour, PL/SQL !';
numero_heureux NUMBER := 7;
BEGIN
DBMS_OUTPUT.PUT_LINE(salutation);
DBMS_OUTPUT.PUT_LINE('Mon numéro heureux est : ' || numero_heureux);
END;
Dans cet exemple, nous disons "Bonjour" à PL/SQL et partageons notre numéro heureux. Le :=
est l'opérateur d'affectation en PL/SQL.
Initialisation avec NULL
Parfois, tu peux vouloir déclarer une variable mais ne pas lui donner de valeur pour le moment. Dans ce cas, tu peux utiliser NULL :
DECLARE
entree_utilisateur VARCHAR2(100) := NULL;
BEGIN
-- Nous получим entrée de l'utilisateur plus tard
END;
Portée des variables en PL/SQL
La portée des variables est comme le quartier d'une variable – elle définit où la variable peut être vue et utilisée.
Variables locales
Les variables déclarées dans un bloc sont locales à ce bloc. Elles ne peuvent pas être vues à l'extérieur de leur bloc.
DECLARE
variable_exterieure VARCHAR2(20) := 'Je suis à l'extérieur !';
BEGIN
DBMS_OUTPUT.PUT_LINE(variable_exterieure);
DECLARE
variable_interieure VARCHAR2(20) := 'Je suis à l'intérieur !';
BEGIN
DBMS_OUTPUT.PUT_LINE(variable_exterieure); -- Ça fonctionne
DBMS_OUTPUT.PUT_LINE(variable_interieure); -- Ça fonctionne aussi
END;
DBMS_OUTPUT.PUT_LINE(variable_exterieure); -- Ça fonctionne
-- DBMS_OUTPUT.PUT_LINE(variable_interieure); -- Ça causerait une erreur
END;
Dans cet exemple, variable_interieure
est comme un ami timide qui ne sort que dans le bloc intérieur. Le bloc extérieur ne peut pas le voir !
Variables globales
Si tu veux que une variable soit visible partout dans ton programme, tu peux la déclarer dans le bloc le plus externe.
DECLARE
variable_globale NUMBER := 100;
PROCEDURE imprimer_global IS
BEGIN
DBMS_OUTPUT.PUT_LINE('Valeur de la variable globale : ' || variable_globale);
END;
BEGIN
imprimer_global;
variable_globale := variable_globale + 50;
imprimer_global;
END;
Ici, variable_globale
est comme un enfant populaire – tout le monde le connaît et peut interagir avec lui !
Affectation des résultats de requête SQL aux variables PL/SQL
Une des choses les plus impressionnantes à propos de PL/SQL est sa capacité à s'intégrer harmonieusement avec SQL. Tu peux utiliser des requêtes SQL pour affecter des valeurs à tes variables PL/SQL !
Requête sur une seule ligne
DECLARE
nom_employe VARCHAR2(100);
salaire_employe NUMBER;
BEGIN
SELECT first_name || ' ' || last_name, salary
INTO nom_employe, salaire_employe
FROM employees
WHERE employee_id = 100;
DBMS_OUTPUT.PUT_LINE('Employé : ' || nom_employe);
DBMS_OUTPUT.PUT_LINE('Salaire : $' || salaire_employe);
END;
Dans cet exemple, nous récupérons le nom et le salaire d'un employé à partir de la table employees
et les stockons dans nos variables PL/SQL.
Requête sur plusieurs lignes
Pour plusieurs lignes, nous devons utiliser un curseur ou une collecte en bloc. Voici un exemple avec une collecte en bloc :
DECLARE
TYPE type_table_nom IS TABLE OF VARCHAR2(100);
noms_employes type_table_nom;
BEGIN
SELECT first_name || ' ' || last_name
BULK COLLECT INTO noms_employes
FROM employees
WHERE department_id = 60;
FOR i IN 1..noms_employes.COUNT LOOP
DBMS_OUTPUT.PUT_LINE('Employé ' || i || ' : ' || noms_employes(i));
END LOOP;
END;
Ce script récupère tous les noms des employés du département 60 et les stocke dans une table PL/SQL. Nous parcourons ensuite cette table pour imprimer chaque nom.
Et voilà, les amis ! Nous avons couvert les bases des variables PL/SQL, de la déclaration à l'initialisation, la portée, et même comment les remplir avec les résultats des requêtes SQL. Souviens-toi, la pratique rend parfait, alors n'hésite pas à expérimenter avec ces concepts.
Avant de me quitter, voici une petite blague de programmateur pour toi : Pourquoi le programmeur a-t-il démissionné ? Parce qu'il ne recevait pas d'arrays (de hausse de salaire) ! ?
Bonne programmation, et puissent tes variables toujours se comporter bien !
Credits: Image by storyset