From c474f9d16f2fb428a46fd71283e282a478e027c4 Mon Sep 17 00:00:00 2001 From: medina5 Date: Wed, 19 Nov 2025 07:40:30 +0100 Subject: [PATCH] =?UTF-8?q?proc=C3=A9dure?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- banque.procedures.md | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/banque.procedures.md b/banque.procedures.md index f64287d..3f8e415 100644 --- a/banque.procedures.md +++ b/banque.procedures.md @@ -8,13 +8,13 @@ Si une erreur survient **rien** n'est enregistré ```sql create or replace procedure add_bank ( - name text + name text -- Paramètre d'entrée de la procédure ) -language plpgsql -as $$ -declare +language plpgsql -- Le langage de programmation utilisé dans la procédure +as $$ -- chaine de caractères multilignes (entoure le bloc de code) +declare -- déclaration des variables v_holder_id bigint; -begin +begin -- début de la procédure insert into holder(type) values ('BANK') returning id into v_holder_id; @@ -24,10 +24,14 @@ begin raise notice 'Titulaire créé : % = %', v_holder_id, name; -end; -$$; +end; -- fin de la procédure +$$; -- fin de la chaine de caractères multiligne ``` +- `plpgsql` (PL/pgSQL) langage de programmation procédural. Les requêtes ne sont plus indépendantes les unes des autres mais sont assemblée dans un programme (procedure) avec des variables , des boucles, des conditions. +- `returning into` capturer la sorie d'un requête dans une variable. +- `raise notice` affiche un message dans la console. Le nombre de variables doit être égal au nombre de % + ## Individu ```sql @@ -59,6 +63,8 @@ call add_person('Françoise', 'Zanetti', '1995-04-12'); call add_person('Justin', 'Hébrard', '1993-03-11'); ``` +- L'appel d'une procédure se fait avec `call`. + ## Société ```sql