PL/SQL est un langage de programmation permettant d’ajouter des instructions de programmation procédurale afin de réaliser des opérations sur des bases de données relationnelles Oracle.
L’objectif principal est d’ajouter les éléments essentiels de programmation tels que l’utilisation de variables, les conditions (SI – SINON), les boucles (TANT QUE) mais aussi les fonctions et les procédures afin de réaliser des traitements plus complexes et d’automatiser les requêtes SQL pour des traitements par lot. Ces bouts de code sont ensuite utilisés soit en direct, soit via un fichier de commande soit dans un programme dédié (déclencheurs, paquets et procédures stockées).
Le PL de PL/SQL signifie « Procedural Language ». Il existe depuis 1995 et se base sur le standard ISO SQL/PSM. PL/SQL ressemble aux langages de programmation ADA et Pascal. Conçu à la base pour fonctionner avec les bases Oracle 7 et supérieures, ce langage propriétaire est aussi utilisable dans d’autres SGBDR (DB2, Times Ten). Les SGBDR concurrents ont riposté et créé des langages dont la logique est similaire : c’est le cas du Transact-SQL, du SQL/PSM ou encore du PL/pgSQL entre autres.
PL/SQL est un langage interprété (exécuté à la volée) mais il est compilable dans les dernières versions. Cela permet un gain de performance.
PL/SQL nécessite de connaître le SQL et la programmation procédurale. Une fois ces pré-requis maîtrisés, c’est un tout nouveau champ de possibilité qui s’offre à l’utilisateur en plus des points déjà listés :
- Mise en place d’ordres SQL dynamiques ;
- Traitement des erreurs et des exceptions ;
- Utilisation de bibliothèques pour accélérer le temps de développement.