Slash commands
Gunakan kembali prompt yang telah ditentukan sebelumnya yang mengotomasi task IBM i yang berulang.
IBM Bob Premium Package for i memperluas slash command bawaan Bob dengan sekumpulan slash command khusus IBM i. Untuk pengantar umum tentang cara kerja slash command dan apa saja slash command bawaannya, lihat Slash Commands.
Ketik / di chat untuk melihat semua command yang tersedia, termasuk command khusus IBM i yang dijelaskan di sini.
/erd
Command /erd menginstruksikan Bob untuk membuat Mermaid style Entity Relationship Diagram (ERD) untuk sekumpulan tabel database pada IBM i yang terhubung.
| Property | Value |
|---|---|
| Command | /erd |
| Argument hint | [schema.table or library/file] |
| Available in | IBM i Developer, IBM i Database |
| Requires | Active IBM i connection |
What it does
Bob mengikuti langkah-langkah berikut:
Menentukan cakupan dari argumen yang kamu berikan atau menanyakan schema/library mana yang harus dianalisis jika tidak ada argumen yang diberikan.
Menjalankan query ke QSYS2.SYSTABLES, QSYS2.SYSCOLUMNS, QSYS2.SYSCST, dan QSYS2.SYSREFCST untuk mengumpulkan struktur tabel dan relasinya.
Membangun dan merender Mermaid style Entity Relationship Diagram (ERD) dengan tipe data Db2 for i yang akurat, penanda kolom (PK, FK, UQ), dan notasi kardinalitas.
Example usage
/erd
/erd MYLIB
/erd MYAPP.ORDERS
/erd MYPROJ/CUSTOMER/review
Command /review menginstruksikan Bob untuk melakukan review komprehensif terhadap sebuah pernyataan SQL berdasarkan checklist yang telah ditentukan untuk correctness, performance, security, dan best practice.
| Property | Value |
|---|---|
| Command | /review |
| Argument hint | [SQL statement to review] |
| Available in | IBM i Database |
| Requires | Active IBM i connection |
What it does
Bob mengikuti langkah-langkah berikut:
Mengurai pernyataan SQL dari argumen yang kamu berikan atau memintanya jika tidak ada argumen yang diberikan.
Mengevaluasi pernyataan tersebut terhadap checklist review yang komprehensif:
- Correctness and simplification: Masalah correctness, predicate yang redundan, konstruksi yang rapuh, nested subquery, expression yang berulang, dan join yang tidak perlu
- Readability and supportability: Formatting, alias, dan komentar pada logika yang kompleks
- Qualification and naming: Nama korelasi tabel dan identifier biasa versus delimited
- Best practices: Penggunaan built-in function, CTE, dan parameter marker
- Security: Risiko SQL injection, privilege berlebihan, row permission, dan column mask
- Performance from SQL text: Predicate yang non-sargable, scalar function yang tidak perlu di predicate, dan cast yang bisa dihindari
- Statement-type-specific guidance: Hal-hal spesifik untuk DDL, DML, embedded SQL, dan dynamic SQL
- Diagnostic and verification guidance: Petunjuk Visual Explain, plan cache, dan saran index
- Reusable logic: Kandidat UDF, stored procedure, dan SQL
INCLUDE - Transaction isolation: Klausul
WITHyang eksplisit dan konsistensi isolation level
Mengembalikan temuan dengan struktur:
- Summary: Penilaian umum singkat
- Confirmed Findings: Daftar bernomor berisi masalah, masing-masing dengan kategori, penjelasan, dan saran perbaikan
- Conditional Recommendations: Daftar bernomor berisi saran yang bergantung pada metadata, workload, atau bukti runtime
- Revised SQL: Pernyataan SQL yang telah direvisi hanya jika semantiknya bisa dipertahankan dengan yakin; jika tidak, rewrite ilustratif beserta penjelasan tentang bagian yang masih bersifat kondisional
- Explanation of Changes: Penjelasan ringkas untuk setiap perubahan yang disarankan
Example usage
/review
/review SELECT * FROM ORDERS WHERE CUSTID = '12345'
/review SELECT A.ORDNO, B.CUSTNAME FROM ORDERS A JOIN CUSTOMER B ON A.CUSTID = B.CUSTID