Langage procédural SQL en ligne (SQL PL)
Inline SQL PL est un sous-ensemble de fonctionnalités SQL PL qui peuvent être utilisées dans des instructions SQL composées (inline).
Les instructions SQL composées (inlined) peuvent être exécutées indépendamment ou être utilisées pour implémenter le corps d'un déclencheur, d'une fonction SQL ou d'une méthode SQL. Les instructions SQL composées (inlined) peuvent être exécutées indépendamment du Db2® CLP lorsqu'il est en mode interactif afin de fournir un support pour un langage de script SQL de base.
Le PL SQL en ligne est décrit comme "en ligne", car la logique est développée et exécutée avec les instructions SQL qui y font référence.
- Déclarations relatives aux variables
- DECLARE <variable>
- DECLARE <condition>
- Déclaration SET (déclaration d'affectation)
- instructions conditionnelles
- cadres sectoriels
- expression CASE
- Déclarations en boucle
- région propriétaire de fichier
- WHILE
- Déclarations de transfert de contrôle
- GOTO
- ITERATE
- LEAVE
- RETOUR
- Déclarations de gestion des erreurs
- SIGNAL
- OBTENIR DES DIAGNOSTICS
Les autres instructions SQL PL qui sont prises en charge dans les procédures SQL ne sont pas prises en charge dans les instructions SQL composées (en ligne). Les curseurs et les gestionnaires de conditions ne sont pas pris en charge dans les PL SQL en ligne et, par conséquent, l'instruction RESIGNAL ne l'est pas non plus.
Comme les instructions SQL PL en ligne doivent être exécutées dans des instructions SQL composées (en ligne), les instructions PREPARE, EXECUTE ou EXECUTE IMMEDIATE ne sont pas prises en charge.
De plus, comme ATOMIC doit être spécifié dans une instruction SQL composée (en ligne) qui est préparée ou exécutée dynamiquement, toutes les instructions membres, ou aucune d'entre elles, doivent être validées avec succès. Par conséquent, les instructions COMMIT et ROLLBACK ne sont pas non plus prises en charge.
Comme pour les instructions LOOP et REPEAT, l'instruction WHILE peut être utilisée pour mettre en œuvre une logique équivalente.
Les scripts autonomes avec SQL PL en ligne consistent à exécuter une instruction SQL composée (en ligne) qui est préparée ou exécutée dynamiquement dans un script du processeur de ligne de commande (CLP) ou directement à partir d'une invite CLP. Les instructions SQL composées (en ligne) qui sont préparées ou exécutées dynamiquement sont délimitées par les mots-clés BEGIN et END et doivent se terminer par un caractère de fin autre que celui par défaut. Elles peuvent contenir des PL SQL et d'autres instructions SQL.
Étant donné que les instructions SQL PL en ligne sont développées dans les instructions SQL qui les référencent plutôt que d'être compilées individuellement, il existe quelques considérations mineures en matière de performances qui doivent être prises en compte lorsque vous prévoyez d'implémenter votre logique procédurale en SQL PL dans une procédure SQL ou avec SQL PL en ligne dans une fonction, un déclencheur ou une instruction SQL composée (compilée ) qui est préparée ou exécutée de manière dynamique.