Depuis la version 9, Db2 a massivement étendu son support du SQL 'Procedural Language', SQL PL en bref. Maintenant à peu près toutes les possibilités syntaxiques de la spécification standard d'SQL pour la logique procédurale sont supportées. Récemment, Db2 supporte aussi le type "ARRAY", seulement en SQL PL.
Aussi MySQL (depuis la version 5) et MariaDB supportent SQL PL pour l'implémentation des procédures stockées, des triggers, et des fonctions définies (UDF). Ensemble avec PostgreSQL, Db2 et MySQL/MariaDB fonctionnent ainsi comme pionniers pour l'implémentation des "Persistent Stored Modules" (PSM) du standard SQL en ISO et ANSI (depuis SQL:1999).
Malheureusement, Oracle utilise une autre langue programmatoire procédurale: PL/SQL (voir Développement d'applications avec PL/SQL), qui n'est pas traitée dans ce cours-ci. Aussi Transact-SQL, utilisé par SQL Server, n'est pas compatible avec SQL PL.
SQL PL est particulièrement utile pour créer des procédures stockées, qui remplaceront de plus en plus les applications qui auparavant ont été principalement écrites en (pour z/OS) COBOL, PL/I REXX, (pour Unix) Java, C, C++, et (pour MS-Windows) Java ou C#. SQL PL deviendra ainsi la langue programmatoire par excellence pour intégrer la logique applicative avec "embedded" SQL. En Db2, ceci implique en outre que la procédure sera de l'SQL statique: interprété une seule fois, exécuté plusieures fois, ce qui est important pour la performance.
Ce cours traite donc d'abord la langue programmatoire SQL PL; tous les détails et possibilités syntaxiques seront traités en grand détail. Nous examinons bien entendu l'interaction entre les éléments de l'environnement programmatoire (comme les variables, le "program flow", la manipulation d'exceptions) et le DML comme les instructions SELECT ou les curseurs. Pendant le cours, les participants auront l'occasion de développer des procédures stockées en SQL PL, soit en Db2 pour z/OS, soit en Db2 pour LUW, soit en PostgreSQL, soit en MySQL, afin de se trouver à l'aise avec ce nouveau matériel.
Lors de ce cours,
Il n'y a pas de sessions publiques à ce moment. Nous organisons volontiers un cours en entreprise ou une session publique supplémentaire (en cas d'un nombre suffisant de participants). Intéressé? Veuillez contacter ABIS.
Ce cours s'adresse en premier lieu aux programmeurs d'applications et aux développeurs des programmes se servant de Db2 ou MySQL, et qui veulent apprendre comment écrire ce genre de programmes en SQL PL.
Également, les DBAs peuvent agrandir pendant ce cours leur expérience pour écrire ou installer des procédures stockées, des triggers (déclencheurs) ou des fonctions scalaires, ou pour automatiser les tâches de DBA d'une façon assez simple.
De l'expérience avec SQL et avec Db2 (cf. Db2 for z/OS: cours de base ou Db2 for LUW: cours de base), MySQL (cf MySQL & MariaDB: cours de base) ou PostgreSQL est conseillé. La connaissance d'une autre langue programmatoire procédurale (comme COBOL, PL/I, REXX, le Java, C, ...) peut être un avantage.
les déclarer, initialiser, usage; blocs BEGIN ... END
structures conditionnelles IF...THEN...ELSE; CASE;
itérations: WHILE..DO loop • FOR...DO loop • ITERATE • REPEAT...UNTIL • LOOP • cursor-based FOR-loop
SELECT INTO • déclaration et utilisation des curseurs • parametrisation • insert, delete, update 'where current of'
exceptions prédéfinis • déroulement du programme à l'aide d'exceptions • SIGNAL • GET DIAGNOSTICS
fonctions scalaires • procédures SQL • triggers; instruction SQL CALL;
possibilités pour la déclaration des paramètres et des 'locators'; options comme 'commit on return'
PREPARE et EXECUTE d'une requête construite dynamiquement
Répartition d'exposés théoriques et de travaux pratiques.
2 jours.
Peter Vanroose.
4.0/5 (basé sur 49 évaluations) |
Rafraîchissez cette page pour voir d'autres commentaires.
Participants de ce cours ont aussi suivi les formations suivantes:
INFO SESSION ET INSCRIPTION |