AI 写的 SQL 能上线吗?我把 6 年 ERP 踩坑做成了 22 条自检规则

针对AI生成SQL虽语法正确但存在生产隐患的问题,作者基于6年ERP实战经验提炼22条SQL规范规则,覆盖命名、性能、事务、NULL处理、安全及可维护性六大维度。该工具为纯静态分析小工具,不连接数据库、不执行SQL,支持粘贴即检,输出评分、问题明细与改写示例,检出率100%,适用于SQL质量把关与团队Code Review辅助。

最近团队里有个现象:AI 助手写 SQL 越来越快,但 Code Review 越来越累。

不是 AI 写得不对,是它"太对了"——语法永远正确,可它不知道我们厂的规矩。

举几个上周真实拦下来的例子:

– 坑 1:查询库存,顺手 WITH(NOLOCK)

SELECT * FROM T_Inventory WITH(NOLOCK) WHERE SkuId = @SkuId

– 库存是要扣的,脏读一下,账就对不上

– 坑 2:按年统计,把函数套在列上
SELECT * FROM T_MI WHERE YEAR(CreateTime) = 2026
– 索引直接失效,百万行全表扫

– 坑 3:建表用了保留字,还忘了主键
CREATE TABLE ORDER (Id int, Status int)
– 每次都得写 [ORDER],还成了堆表

这三个坑,语法上都没错,AI 也不会提醒你。它们只会在上线后以"报表很慢""库存对不上"的形式找你。

我把这六年踩过的坑,整理成了 22 条规则,做成一个 SQL 规范体检工具:
粘贴 SQL → 输出百分制评分 + 问题明细 + 改写示例。

规则分六类:

  • 命名(表/存储过程/视图前缀、保留字)
  • 性能反模式(SELECT *、列上函数、隐式转换、堆表)
  • 事务与隔离(长事务分批、NOLOCK 滥用、多写缺事务)
  • NULL 与类型(= NULL、NOT IN 陷阱)
  • 安全(拼接 SQL 注入)
  • 可维护性(魔数、缺注释、重复子查询)

我自己拿 12 段真实 ERP 风格的 SQL 做了基准测试:

  • 规则检出率 30/30(100%)
  • 评分与人工标注完全一致
  • 平均分 69.6 —— 也就是说,随手写的 SQL,大概率是不及格的

用法很简单:把建表、存储过程、报表 SQL 粘进去,它会告诉你哪条是"阻断项,不建议上线"。

不连数据库、不执行任何 SQL、不改你的文件,纯静态分析。厂里的代码不方便外传,这点很重要。

工具放在 SkillPay 上,买断 9.9,一次买断永久用:【阅读原文】

如果你也在接老项目、或者团队开始用 AI 写 SQL,建议先拿手上最烂的那段存储过程试一次——分数会让你清醒。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码农刚子.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值