mcpField
Q
query-builder

query-builder

github.com/thalysjuvenal数据与数据库19248 次安装7 周前更新
代码仓库

关于 query-builder

此技能帮助开发者为 Protheus ERP 表构建安全、高效的 SQL 查询,涵盖访问方式选择、必需过滤条件、索引匹配和动态值参数化。

主要功能

  1. 01Protheus 数据库规范与过滤条件
  2. 02Workarea 与 SQL 访问方式选择
  3. 03使用 FWPreparedStatement 参数化查询
  4. 04SIX 索引匹配指导
  5. 05跨数据库查询指导

适用场景

  1. 01为标准表或自定义表编写查询
  2. 02在 DbSeek 与 Embedded SQL 间选择
  3. 03检查查询是否缺少必需过滤条件
  4. 04排查索引不匹配导致的慢查询

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/thalysjuvenal/advpl-specialist --skill query-builder

安装后在 Claude Code 中输入/query-builder确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

cross-database.md
index-awareness.md
patterns-fwpreparedstatement.md
patterns-workarea.md
reference.md

详细介绍

Protheus 查询构建器

此技能可帮助你针对 Protheus ERP 表构建正确、安全且经过优化的 SQL,同时遵循平台的数据库约定:强制软删除(D_E_L_E_T_)和多分支(xFilial)筛选、匈牙利命名法字段名、由字典驱动的物理架构(RetSqlName())以及 SIX 索引对齐。它会指导 Agent 选择正确的访问模式——Workarea 导航、Embedded SQL 或原始 TCSqlExec——强制应用必需的筛选条件,让 WHERE 子句顺序匹配可用索引,并使用 FWPreparedStatement 为所有动态值设置参数,以消除注入风险。

在针对 Protheus 表(标准 SA*/SE*/SF* 或自定义 Z*)构建任何查询、决定使用 DbSelectArea/DbSeek 还是 Embedded SQL、检查代码是否缺少必需的筛选条件、添加参数化查询、通过索引不对齐诊断慢查询,或编写跨数据库代码时,启用此技能。此技能不涵盖 BeginSQL/EndSQL 宏语法本身(宏的详细信息请参阅配套技能 embedded-sql),也不涵盖写入时的记录锁定语义(请参阅 protheus-locks-deadlocks)。

参考文件何时阅读
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 等效方案时

评论

支持 Markdown