写时一时爽,维护火葬场——这句玩笑话正在变成日常:AI 写出来的 SQL,就算对了也很难审,十几个 CTE 层层嵌套,看都看不完;下次需求稍微改一点,AI 很可能把整段 SQL 重写一遍,又得从头审一遍,费时还不稳定。
换个思路:别让 AI 直接写 SQL,让它写 SQLazy 脚本。把 SQLazy 的 skills 装进 CodeBuddy、Trae 这类编程助手,一句自然语言,AI 就帮你把逻辑拆成清晰的步骤。
来个例子走一遍:要计算某支股票最长连续上涨了多少天。
第一步:在 CodeBuddy/Trae 里用自然语言描述需求:
第二步:用 SQLazy 打开 CodeBuddy/Trae 生成的代码文件:
现在可以单步执行,每步中间结果实时可见,有错误立即发现纠正,这比调试 SQL 方便太多了。
可运行、可调试,句句都是大白话,两个月后照样看得懂
第三步:选择目标数据库,编译 SQL。
WITH t2 AS (SELECT CODE, DT, CLFROM stockWHERE (CODE = 100046))SELECT MAX(天数) AS 最长连续上涨天数FROM (SELECT 上涨组, COUNT(*) AS 天数FROM (SELECT CODE, DT, CL, 1 + SUM(CASEWHEN (CL <= col__2) THEN 1ELSE 0END) OVER (ORDER BY CASEWHEN DT IS NULL THEN 1ELSE 0END, DT ASC ROWS UNBOUNDED PRECEDING) AS 上涨组FROM (SELECT t2.*, LAG(CL) OVER (ORDER BY CASEWHEN DT IS NULL THEN 1ELSE 0END, DT ASC) AS col__2FROM t2) sub__3) t_4GROUP BY 上涨组) t_5
以后要改,只需改 SQLazy 里那一步,不用推翻重来,改完一键编译,输出稳定可预期。
最后,还可以在目标数据库中运行 SQL 验证结果。
为什么绕这一圈反而更省心?因为 SQL 的逻辑全埋在嵌套里,对不对只能靠猜;SQLazy 则把逻辑一步一摊,每一步都看得懂、查得到,改哪里心里都有数。
关键的是,步骤一旦定下来,编译出的 SQL 就是确定的:同样逻辑,输出永远一样,不靠运气。说到底就一句话:
AI 负责写逻辑,SQLazy 负责编 SQL,逻辑可控、稳定可审
交接、审计、换库都不慌:逻辑都在步骤里,看得懂、说得清,新人上手也快,SQL 只是最后顺手生成的那一张纸。
SQL 弯弯绕,不该是常态。CodeBuddy/Trae+SQLazy,让 AI 写逻辑,让引擎管 SQL。
产品 集算器 润乾报表 智能问数 SQLazy
Desktop YModel esProc Reportlite

