Postgre SQL4
Postgre SQL4
◼ Présentation
o Tous les SGBD fournissent un langage procédural
qui complète le langage SQL:
✓PL/pgSQL pour PostgreSQL
✓PL/SQL pour Oracle
✓SQL/PSM pour MySQL
o Le langage procédural permet de:
✓déclarer des variables
✓utiliser des structures de controles
✓écrire des procédures – fonctions et déclencheurs
assert nbre_etud > 1000, ‘pas plus de 1000 etudiants trouves, verifier la table Etudiant';
end$$;
…
BEGIN
…
…
EXCEPTION
WHEN {condition | nom_erreur | sqlstate code} THEN
traitements ;
When … then ...;
END ;
ASSALE ADJE LOUIS PostgreSQL PL/pgSQL 26
PostgreSQL PL/pgSQL
◼ éléments du langage
o Gestion des exceptions
✓Quelques noms d’exception et code sqlstate
• division_by_zero 22012
• invalid_datetime_format 22007
• integrity_constraint_violation 23000
• invalid_cursor_state 24000
• invalid_cursor_name 34000
• no_data_found P0002
• Too_many_rows P0003
• raise_exception P0004
27
• others toutes les autres erreurs non explicitement nommées
PostgreSQL PL/pgSQL
◼ objets applicatifs
o Procédures et fonction
✓Procédure
• CREATE [OR REPLACE] PROCEDURE nom_procedure
([mode] para1 type1,…) language plpgsql as $$
declare
[déclarations de variables locales]
BEGIN
instructions
END; $$
• Mode: in – out – inout
(bloc PL/pgSQL)
✓5) réaffiche les notes de l’étudiant dans ses matières
(requête SQL)