mcpField
E
embedded-sql

embedded-sql

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

关于 embedded-sql

面向编写、审查或改造 ADVPL/TLPP SQL 的开发者,讲解 `BeginSQL` 宏、查询模式与安全约束,也说明数据修改何时使用 `TCSqlExec`。

主要功能

  1. 01`BeginSQL` 语法与宏表达式
  2. 02JOIN、聚合和子查询模式
  3. 03安全变量绑定与行过滤
  4. 04迁移拼接式 `TCQuery` SQL
  5. 05使用 `TCSqlExec` 执行数据操作

适用场景

  1. 01编写 ADVPL/TLPP 查询
  2. 02检查 SQL 的安全性与正确性
  3. 03转换旧式 `TCQuery` 字符串
  4. 04选择 INSERT、UPDATE 或 DELETE 的处理方式

安装

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

$npx skills add https://github.com/thalysjuvenal/advpl-specialist --skill embedded-sql

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

附带文件reference.md

详细介绍

ADVPL/TLPP 中的嵌入式 SQL

本技能涵盖如何在 ADVPL/TLPP 中使用 BeginSQL ... EndSQL 块及其特殊宏表达式编写 SQL——用于解析物理表的 %table:TABLE%、用于分支筛选的 %xfilial:TABLE%、用于逻辑删除筛选的 %notDel%、用于安全绑定变量的 %exp:EXPRESSION%,以及用于主键排序的 %Order:TABLE%。还涵盖 column 类型声明、JOIN 和聚合模式、子查询,以及将旧版 TCQuery 字符串拼接代码迁移到嵌入式 SQL。

在用户编写新查询、检查现有查询的正确性或安全性,或将旧的拼接字符串 SQL 转换为现代 BeginSQL 语法时,启用此技能。本技能还涵盖 BeginSQL 的限制和注意事项(行首不能使用 *,始终包含 %notDel% 和分支筛选,使用 GetNextAlias(),并关闭别名),以及何时改用 TCSqlExec 执行 INSERT/UPDATE/DELETE。

本技能不涵盖与 SQL 无关的通用原生函数查询(参见 protheus-reference)、关于应查询哪些表和字段的业务流程背景(参见 protheus-business),也不涵盖为恰好包含 SQL 的例程生成文档(参见 documentation-patterns)。

参考文件阅读时机
reference.md始终阅读——了解 BeginSQL 语法、宏表达式、JOIN/聚合/子查询模式、通过 TCSqlExec 执行 DML、性能提示以及 TCQuery 迁移

评论

支持 Markdown