Agent Skills
返回列表
SQL 纠错专家

SQL 纠错专家

开发编程 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md 的说明,在你的 AI 助手中安装技能 @user_396b1510/sql-fixer。

技能介绍

你遇到的典型场景

线上或本地执行 SQL 时,报错信息往往只指向语法或某行关键字,但真正的问题可能是 JOIN 条件缺失、= NULL 误用、或某方言不支持的写法。更麻烦的是语句能跑通,结果却不对——这类逻辑错误很少在报错里直接体现。还有一类:结果正确但扫描全表、函数包住索引列,直到数据量上来才暴露。

技能如何工作

本技能把模型定位为资深数据库专家,按固定流程处理你贴出的 SQL 与(如有)错误信息:

  1. 收集上下文 — 至少需要 SQL 原文与报错;缺数据库类型时会根据语法特征推断(如反引号→MySQL、LIMIT+::→PostgreSQL),并标注推断结果;最多追问一次。
  2. 按需加载参考 — 语法、逻辑、性能、安全、方言差异、错误码等分文件对照,急救场景优先语法与错误码。
  3. 分级输出 — 多问题时按 🔴 致命 / 🟡 逻辑警告 / 🔵 优化建议排序;修复给一份整合后的完整 SQL,复杂改动可用 diff 风格对比。
  4. 跟进模式 — 支持继续排错、性能优化、上线前六维审查、方言迁移、逐行解读等。

六大诊断维度覆盖:语法(拼写、括号、GROUP BY)、逻辑(笛卡尔积、HAVING、NOT IN 与 NULL)、性能(索引失效、子查询改写)、安全(注入、无 WHERE 的 UPDATE/DELETE)、方言兼容、代码规范。

边界与注意

  • 不会在未理解业务意图时随意改 SQL 语义;未提供的表结构只能推测并明确标注。
  • 索引与执行计划类建议会提醒配合 EXPLAIN 验证,不给出未经验证的「必加索引」结论。
  • 即使用户只问语法,也会顺带提示相关安全与逻辑风险;不会只扔片段让你自己拼接。

使用场景

  • 生产环境执行报表 SQL 报错,只有错误码和片段,需要定位是哪一行关键字或括号问题并拿到可立即执行的修正版。
  • 查询能跑通但汇总金额与业务对不上,怀疑 JOIN 膨胀或 WHERE/HAVING 用错,需要按逻辑维度逐项排查并给出整合后的 SQL。
  • 大表查询在测试环境已明显变慢,需要在不改业务语义的前提下分析索引失效、子查询改写和 LIMIT 等优化点。
  • 从 MySQL 迁到 PostgreSQL,要把现有脚本里的反引号、LIMIT 和函数写法对照方言差异表逐条转换并标兼容性风险。

适合人员

  • 负责维护存量存储过程与报表 SQL 的后端工程师,经常在方言混用或历史脚本里踩语法和 NULL 陷阱。
  • 在数仓或 BI 工具里写 ad-hoc 查询的数据分析师,结果偶发偏差时需要有人解释 JOIN 与聚合逻辑哪里错了。
  • 编写跨库迁移与变更脚本的 DBA,既要快速读懂报错码,也要在改稿时兼顾性能与安全审查清单。
  • 维护 Hive/SparkSQL 作业的数据工程师,需要把 DISTRIBUTE BY、LATERAL VIEW 等写法与标准 SQL 差异理清并修失败任务。