Commandes slash
Utilise des commandes slash spécifiques à IBM i pour réutiliser des prompts prédéfinis qui automatisent les tâches répétitives.
IBM Bob Premium Package for i enrichit les commandes slash intégrées de Bob avec un ensemble de commandes slash spécifiques à IBM i. Pour une introduction générale au fonctionnement des commandes slash et à leurs variantes intégrées, consulte Slash Commands.
Tape / dans le chat pour voir toutes les commandes disponibles, y compris les commandes IBM i décrites ici.
/erd
La commande /erd demande à Bob de générer un diagramme entité-relation (ERD) de style Mermaid pour un ensemble de tables de base de données sur l'IBM i connecté.
| Propriété | Valeur |
|---|---|
| Commande | /erd |
| Indice d'argument | [schema.table ou library/file] |
| Disponible dans | IBM i Developer, IBM i Database |
| Nécessite | Une connexion IBM i active |
Ce qu'elle fait
Bob suit ces étapes :
Déterminer la portée à partir de l'argument fourni ou demander quel schéma/bibliothèque analyser si aucun argument n'est donné.
Interroger QSYS2.SYSTABLES, QSYS2.SYSCOLUMNS, QSYS2.SYSCST et QSYS2.SYSREFCST pour récupérer la structure des tables et leurs relations.
Construire et rendre un diagramme entité-relation (ERD) de style Mermaid avec les types de données Db2 for i exacts, les marqueurs de colonne (PK, FK, UQ) et les notations de cardinalité.
Exemple d'utilisation
/erd
/erd MYLIB
/erd MYAPP.ORDERS
/erd MYPROJ/CUSTOMER/review_SQL
La commande /review_SQL demande à Bob d'effectuer une révision complète d'une instruction SQL à partir d'un ensemble de bonnes pratiques. Elle peut accepter une instruction SQL autonome ou faire référence à du code source contenant une ou plusieurs instructions SQL.
| Propriété | Valeur |
|---|---|
| Commande | /review_SQL |
| Indice d'argument | [SQL statement or source code path] |
| Disponible dans | IBM i Database |
| Nécessite | Une connexion IBM i active |
Ce qu'elle fait
Bob suit ces étapes :
Analyser l'instruction SQL à partir de l'argument fourni ou en demander une si aucun argument n'est donné.
Évaluer l'instruction par rapport à une checklist de révision complète :
- Correction et simplification : problèmes de correction, prédicats redondants, constructions fragiles, sous-requêtes imbriquées, expressions répétées et jointures inutiles
- Lisibilité et maintenabilité : formatage, alias et commentaires sur la logique complexe
- Qualification et nommage : noms de corrélation de table et identifiants ordinaires vs délimités
- Bonnes pratiques : utilisation des fonctions intégrées, des CTE et des marqueurs de paramètre
- Sécurité : risques d'injection SQL, privilège excessif, permissions de ligne et masques de colonne
- Performances depuis le texte SQL : prédicats non sargables, fonctions scalaires inutiles dans les prédicats et casts évitables
- Conseils spécifiques au type d'instruction : spécificités pour DDL, DML, SQL embarqué et SQL dynamique
- Conseils de diagnostic et de vérification : pointeurs vers Visual Explain, le plan cache et les conseils d'index
- Logique réutilisable : candidats UDF, procédures stockées et
INCLUDESQL - Isolation des transactions : clauses
WITHexplicites et cohérence du niveau d'isolation
Retourner les résultats structurés comme suit :
- Résumé : évaluation globale succincte
- Résultats confirmés : liste numérotée des problèmes, chacun avec une catégorie, une explication et une amélioration suggérée
- Recommandations conditionnelles : liste numérotée de suggestions qui dépendent des métadonnées, de la charge de travail ou d'éléments d'exécution
- SQL révisé : une instruction SQL révisée uniquement lorsque la sémantique peut être préservée avec certitude ; sinon une réécriture illustrative avec une explication de ce qui reste conditionnel
- Explication des changements : description concise de chaque changement suggéré
Exemple d'utilisation
/review_SQL
/review_SQL SELECT * FROM ORDERS WHERE CUSTID = '12345'
/review_SQL mylib/mysrc(mycode)
/review_SQL /home/scottf/RPGsrc/toystore.rpglesrc