Développement d'applications avec SQL PL

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,

  • les participants connaîtront la syntaxe de base de la langue programmatoire SQL PL;
  • on pourra développer, corriger, et exécuter de nouveaux programmes;
  • on saura ce qui est important quand on récrira un programme existant dans une différente langue programmatoire;
  • les participants sauront utiliser des curseurs at des "exception handlers" d'une manière intelligente.

Calendrier

dateduréelang.lieuprix 
14 oct2web based 1050 EUR (excl. TVA)
INFO SESSION ET INSCRIPTION

Participants

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.

Connaissances préalables

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 ou MariaDB (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.

Contenu

  • Introduction SQL PL
  • Variables

les déclarer, initialiser, usage; blocs BEGIN ... END

  • Contrôle du déroulement de programmes

structures conditionnelles IF...THEN...ELSE; CASE;

itérations: WHILE..DO loop • FOR...DO loop • ITERATE • REPEAT...UNTIL • LOOP • cursor-based FOR-loop

  • Travailler avec des données de la base de données; curseurs

SELECT INTO • déclaration et utilisation des curseurs • parametrisation • insert, delete, update 'where current of'

  • Traitement des erreurs

exceptions prédéfinis • déroulement du programme à l'aide d'exceptions • SIGNAL • GET DIAGNOSTICS

  • Objets procédurales

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'

  • L'SQL dynamique:

PREPARE et EXECUTE d'une requête construite dynamiquement

Pédagogie

Répartition d'exposés théoriques et de travaux pratiques.

Durée

2 jours.

Formateur

Peter Vanroose.

Reviews

bon pour les bases

 
  (, )

J'ai appris pas mal de choses intéressantes

 
  (, )

Satisfait, explications détaillées sur les chapitres, avec le lien avec le système db2

 
  (, )

Cours très intéressant. Mes objectifs personnels vis à vis de ce cours sont atteints et même dépassés.

 
  (, )

INFO SESSION ET INSCRIPTION