用途:在已知改动影响后,编写或修改 PL/SQL 源码,包括过程、函数、包、触发器或视图。目标是产出与现有代码风格一致、维护者难以分辨的新程序,而不是引入“更好”的风格。
主要能力与工作流:
- 寻找模型:用
pythia similar <NEW_NAME>对共享名称词元的现有程序排序,MATCHED_TOKENS 列说明匹配原因;用pythia src打开前两三个,模仿其命名、参数前缀、游标风格、错误处理和注释风格。 - 锚定签名:对每个被调用的程序使用
pythia args NAME获取真实参数名、顺序、类型与默认值,不要凭记忆猜测。 - 锚定类型:对每个涉及的表使用
pythia cols TABLE,再用 %TYPE / %ROWTYPE 针对这些列声明变量,而不是手工复制当前类型。 - 写文件:写入路径强制规则——一个文件一个对象,包规范与包体分两个文件;文件以 PL/SQL 块的
;结尾,最后一行是/;对象名不加限定,或使用连接所指向的确切 schema 限定,不匹配会在应用时被拒绝。 - 交付前自检:对照 reference/patterns.md 复查游标与批量模式、异常处理、绑定变量、提交归属。
约定优先于偏好:若代码库使用显式游标而非 FOR r IN,就写显式游标;若参数前缀过时,也照旧使用。混合风格比一致地过时更糟;风格改动应单独向开发者提出,不可静默修改。
适用场景:在既有 PL/SQL 代码库中新增或修改程序,且影响分析已完成时。
限制与不适用:理解现有代码用 plsql-explore;衡量改动破坏用 plsql-impact(须已完成);将文件落到数据库用 plsql-apply,绝不用 run-sql 或 sqlplus。资料未提供具体安装方式、收费、价格与平台信息。