PL/SQL - Opérateurs

Bonjour, aspirants programmeurs ! Aujourd'hui, nous allons entreprendre un voyage passionnant à travers le monde des opérateurs PL/SQL. Ne vous inquiétez pas si vous n'avez jamais écrit une ligne de code auparavant - nous allons commencer par les bases et progresser pas à pas. À la fin de ce tutoriel, vous manipulerez les données comme un pro !

PL/SQL - Operators

Opérateurs Arithmétiques

Commençons par quelque chose de familier : les mathématiques ! Les opérateurs arithmétiques de PL/SQL fonctionnent exactement comme ceux que vous avez appris à l'école. Ils nous permettent d'effectuer des opérations mathématiques de base sur des nombres.

Voici un tableau des opérateurs arithmétiques en PL/SQL :

Opérateur Description Exemple
+ Addition 5 + 3 = 8
- Soustraction 10 - 4 = 6
* Multiplication 3 * 4 = 12
/ Division 15 / 3 = 5
** Exponentiation 2 ** 3 = 8

Voyons ces opérateurs en action avec un exemple simple de code PL/SQL :

DECLARE
num1 NUMBER := 10;
num2 NUMBER := 5;
result NUMBER;
BEGIN
result := num1 + num2;
DBMS_OUTPUT.PUT_LINE('Addition: ' || result);

result := num1 - num2;
DBMS_OUTPUT.PUT_LINE('Soustraction: ' || result);

result := num1 * num2;
DBMS_OUTPUT.PUT_LINE('Multiplication: ' || result);

result := num1 / num2;
DBMS_OUTPUT.PUT_LINE('Division: ' || result);

result := num1 ** 2;
DBMS_OUTPUT.PUT_LINE('Exponentiation: ' || result);
END;

Dans cet exemple, nous déclarons deux variables num1 et num2, puis effectuons diverses opérations arithmétiques sur elles. Les résultats sont ensuite affichés en sortie.

Lorsque vous exécutez ce code, vous verrez :

Addition: 15
Soustraction: 5
Multiplication: 50
Division: 2
Exponentiation: 100

Opérateurs Relationnels

Passons maintenant aux opérateurs relationnels. Ceux-ci sont utilisés pour comparer deux valeurs et déterminer la relation entre elles. Ils sont comme les questions que vous posez lors de la comparaison de choses : "Est-ce plus grand que cela?" ou "Ces deux sont-ils identiques?"

Voici un tableau des opérateurs relationnels en PL/SQL :

Opérateur Description Exemple
= Égal à 5 = 5 est vrai
<> Différent de 5 <> 3 est vrai
< Inférieur à 3 < 5 est vrai
> Supérieur à 5 > 3 est vrai
<= Inférieur ou égal à 3 <= 3 est vrai
>= Supérieur ou égal à 5 >= 5 est vrai

Voyons ces opérateurs en action :

DECLARE
a NUMBER := 10;
b NUMBER := 20;
BEGIN
IF a = b THEN
DBMS_OUTPUT.PUT_LINE('a est égal à b');
ELSIF a < b THEN
DBMS_OUTPUT.PUT_LINE('a est inférieur à b');
ELSE
DBMS_OUTPUT.PUT_LINE('a est supérieur à b');
END IF;

IF a <> b THEN
DBMS_OUTPUT.PUT_LINE('a est différent de b');
END IF;
END;

Ce code compare a et b à l'aide d'opérateurs relationnels. Lorsque vous l'exécutez, vous verrez :

a est inférieur à b
a est différent de b

Opérateurs de Comparaison

Les opérateurs de comparaison en PL/SQL sont assez similaires aux opérateurs relationnels, mais ils incluent des fonctionnalités supplémentaires, en particulier pour travailler avec des valeurs NULL et comparer entre différents types de données.

Voici un tableau des opérateurs de comparaison :

Opérateur Description
IS NULL Vérifie si une valeur est NULL
IS NOT NULL Vérifie si une valeur n'est pas NULL
LIKE Correspondance de motif
BETWEEN Vérifie si une valeur est dans une plage
IN Vérifie si une valeur correspond à une valeur dans une liste

Voyons un exemple :

DECLARE
name VARCHAR2(20) := 'John Doe';
age NUMBER := 25;
BEGIN
IF name IS NOT NULL THEN
DBMS_OUTPUT.PUT_LINE('Le nom est : ' || name);
END IF;

IF name LIKE 'J%' THEN
DBMS_OUTPUT.PUT_LINE('Le nom commence par J');
END IF;

IF age BETWEEN 20 AND 30 THEN
DBMS_OUTPUT.PUT_LINE('L'age est entre 20 et 30');
END IF;

IF age IN (25, 30, 35) THEN
DBMS_OUTPUT.PUT_LINE('L'age est 25, 30, ou 35');
END IF;
END;

Ce code demonstrates divers opérateurs de comparaison. Lorsque vous l'exécutez, vous verrez :

Le nom est : John Doe
Le nom commence par J
L'age est entre 20 et 30
L'age est 25, 30, ou 35

Opérateurs Logiques

Les opérateurs logiques nous permettent de combiner plusieurs conditions. Ils sont comme "et" et "ou" dans le langage quotidien lorsque nous décrivons des situations complexes.

Voici un tableau des opérateurs logiques en PL/SQL :

Opérateur Description
AND Vrai si les deux conditions sont vraies
OR Vrai si l'une des conditions est vraie
NOT Inverse le résultat d'une condition

Voyons ces opérateurs en action :

DECLARE
age NUMBER := 25;
has_license BOOLEAN := TRUE;
BEGIN
IF age >= 18 AND has_license THEN
DBMS_OUTPUT.PUT_LINE('Vous pouvez conduire une voiture');
END IF;

IF age < 18 OR NOT has_license THEN
DBMS_OUTPUT.PUT_LINE('Vous ne pouvez pas conduire une voiture');
ELSE
DBMS_OUTPUT.PUT_LINE('Vous pouvez conduire une voiture');
END IF;
END;

Ce code vérifie si une personne peut conduire en fonction de son âge et de l'existence d'un permis de conduire. Lorsque vous l'exécutez, vous verrez :

Vous pouvez conduire une voiture
Vous pouvez conduire une voiture

Précedence des Opérateurs PL/SQL

Comme dans les mathématiques, les opérateurs PL/SQL ont un certain ordre dans lequel ils sont évalués. Cela s'appelle la précedence des opérateurs. Comprendre cela est crucial pour écrire du code correct et prévisible.

Voici la précedence des opérateurs en PL/SQL, de la plus haute à la plus basse :

  1. Exponentiation (**)
  2. Multiplication (*), Division (/)
  3. Addition (+), Soustraction (-)
  4. Opérateurs de comparaison (=, <>, <, >, <=, >=)
  5. IS NULL, LIKE, BETWEEN, IN
  6. NOT
  7. AND
  8. OR

Voyons un exemple de la manière dont cela fonctionne :

DECLARE
result BOOLEAN;
BEGIN
result := 5 > 3 AND 10 / 2 = 5 OR NOT (2 + 2 = 4);

IF result THEN
DBMS_OUTPUT.PUT_LINE('Le résultat est VRAI');
ELSE
DBMS_OUTPUT.PUT_LINE('Le résultat est FAUX');
END IF;
END;

Dans cet exemple, l'expression est évaluée comme suit :

  1. 10 / 2 = 5 (division, puis comparaison)
  2. 5 > 3 (comparaison)
  3. 2 + 2 = 4 (addition, puis comparaison)
  4. NOT (2 + 2 = 4) (logique NOT)
  5. 5 > 3 AND 10 / 2 = 5 (logique AND)
  6. Résultat de l'étape 5 OR résultat de l'étape 4 (logique OR)

Lorsque vous exécutez ce code, vous verrez :

Le résultat est VRAI

Et voilà ! Nous avons couvert les principaux types d'opérateurs en PL/SQL. Souvenez-vous, la pratique rend parfait. Essayez d'écrire vos propres exemples de code et expérimentez avec différentes combinaisons d'opérateurs. Avant de vous en rendre compte, vous écrirez des déclarations PL/SQL complexes avec facilité !

Credits: Image by storyset