关于 embedded-sql
面向编写、审查或改造 ADVPL/TLPP SQL 的开发者,讲解 `BeginSQL` 宏、查询模式与安全约束,也说明数据修改何时使用 `TCSqlExec`。
主要功能
- 01`BeginSQL` 语法与宏表达式
- 02JOIN、聚合和子查询模式
- 03安全变量绑定与行过滤
- 04迁移拼接式 `TCQuery` SQL
- 05使用 `TCSqlExec` 执行数据操作
适用场景
- 01编写 ADVPL/TLPP 查询
- 02检查 SQL 的安全性与正确性
- 03转换旧式 `TCQuery` 字符串
- 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