SuperAPI AI 工具集

query-builder

数据与分析

查看项目

更新于 10-16 02:21

技能介绍

用途

Protheus Query Builder 是一个面向 Protheus ERP 数据库的查询构建技能,用于生成正确、安全、经过优化的 SQL。它聚焦于 Protheus 平台特有的数据库约定,帮助开发者在访问 Protheus 表时避免常见错误。

主要能力

  • 遵守强制软删除过滤(D_E_L_E_T_)与多分公司过滤(xFilial)。
  • 处理匈牙利命名法字段名、字典驱动的物理模式(RetSqlName())以及 SIX 索引对齐。
  • 引导 AI 代理选择合适的访问模式:Workarea 导航、嵌入式 SQL 或原始 TCSqlExec。
  • 强制实施必选过滤条件。
  • 按可用索引顺序排列 WHERE 子句。
  • 使用 FWPreparedStatement 参数化所有动态值,消除注入风险。

使用方式

当针对 Protheus 表(标准 SA*/SE*/SF* 或自定义 Z* 表)构建查询、在 DbSelectArea/DbSeek 与嵌入式 SQL 之间做选择、审查代码中缺失的必选过滤条件、添加参数化查询、通过索引错位诊断慢查询,或编写跨数据库代码时激活此技能。

该技能提供多个参考文件,按需阅读:

  • reference.md:始终阅读,涵盖数据库约定、表/字段命名、必选过滤条件、模式选择概览。
  • patterns-workarea.md:生成基于逐条记录的代码(DbSelectArea + DbSeek + RecLock)时阅读。
  • patterns-fwpreparedstatement.md:构建参数化 TCQuery/TCSqlExec、LIKE 子句、INSERT/UPDATE/DELETE 时阅读。
  • index-awareness.md:选择/验证索引、排列 WHERE 子句顺序、常见 SIX 键表达式时阅读。
  • cross-database.md:使用 ChangeQuery()、TCGetDB()、DBAccess 宏、MSSQL/PostgreSQL/Oracle 等价写法时阅读。

适用场景

  • 针对 Protheus 表构建任意查询。
  • 决定使用 Workarea 导航还是嵌入式 SQL。
  • 代码审查中检查缺失的必选过滤条件。
  • 添加参数化查询。
  • 通过索引错位诊断慢查询。
  • 编写跨数据库兼容代码。

限制

该技能不覆盖 BeginSQL/EndSQL 宏语法本身(参见其配套技能 embedded-sql),也不覆盖写入时的记录锁定语义(参见 protheus-locks-deadlocks)。