Dans la plupart des SGBD-R, il existe un langage de programmation impératif classique qui permet d’écrire des successions d’opérations relationnelles en utilisant les possibilités habituelles de la programmation impérative type Pascal, C ou C++ (variable, affectation, tests,boucle, exception, procédure et fonction…).
PL-SQL est le nom générique de ce langage pour tous les SGBD. La syntaxe du PL-SQL est en partie standardisée.
Ce type de programme est très interessant pour :
Développer un Bloc simple PL/SQL
[ DECLARE ]
- Variables, constantes, curseurs,
exceptions utilisateurs
BEGIN
- Ordres SQL
- Instructions de Contrôle PL/SQL
[ EXCEPTION ]
- Traitements à effectuer lors d'erreurs
END ;
CM4 toulouse guillaume Cabanac : introduction PL/SQL
CM5 toulouse guillaume Cabanac : PL/SQL Exceptions et curseurs
Créez une variable nommée nom_utilisateur et initialisez-la avec votre nom. Affichez le contenu de la variable nom_utilisateur à l’aide d’une instruction SELECT.
-- Création de la variable
SET @nom_utilisateur = 'VotreNom';
-- Affichage de la variable
SELECT @nom_utilisateur AS NomUtilisateur;
Créez une procédure stockée nommée ajouter_utilisateur qui prend en paramètres le nom et l’âge d’un utilisateur, et insère ces informations dans une table utilisateurs. Appelez la procédure avec quelques exemples.
-- Création de la table utilisateurs
DROP TABLE IF EXISTS utilisateurs;
CREATE TABLE utilisateurs (
id INT AUTO_INCREMENT PRIMARY KEY,
nom VARCHAR(50),
prenom VARCHAR(50),
age INT,
majeur INT
);
DROP PROCEDURE IF EXISTS AjouterUtilisateur;
-- Création de la procédure stockée
DELIMITER //
CREATE PROCEDURE AjouterUtilisateur(IN nom_utilisateur VARCHAR(50), IN age_utilisateur INT)
BEGIN
INSERT INTO utilisateurs (nom, age) VALUES (nom_utilisateur, age_utilisateur);
END //
DELIMITER ;
-- Appel de la procédure
CALL AjouterUtilisateur('John Doe', 25);
CALL AjouterUtilisateur('Jane Doe', 30);
-- Affichage du contenu de la table utilisateurs
SELECT * FROM utilisateurs;
Modifier la fonction AjouterUtilisateur pour mettre en majuscule le nom et en minuscule le prénom. (il faut modifier l’appel de la procédure et passer dans 2 paramètres distincts le nom et le prénom)