自定义 SQL:从写到执行
这一节说明如何让 Agent 把一个业务查询沉淀成平台托管的自定义 SQL。你不需要手动拼创建、校验、推送和执行命令;重点是说明业务问题、参数、返回字段和验收方式。
适合交给 Agent 的任务
- 根据业务问题设计一条查询 SQL。
- 检查 SQL 涉及的数据集、表关系和字段含义。
- 把稳定查询保存成平台托管 SQL。
- 修改已有 SQL,并校验参数和结果。
- 用示例参数试跑,确认返回结果是否符合预期。
准备工作
- 先让 Agent 查清相关数据集和表关系,不要直接凭记忆写字段。
- 准备好查询目标、筛选条件、排序规则和期望返回字段。
- 涉及线上资源时,要求 Agent 先校验和预览,再保存或更新。
常用 Prompt
设计一条业务查询
text
请帮我设计一条自定义 SQL,用来查询「近 90 天有成交但 30 天未跟进的客户」。
入参包括「负责人、客户等级、最近成交时间范围」。
返回字段需要包含「客户名称、负责人、最近成交金额、最近成交时间、最近跟进时间、未跟进天数」。
请先检查相关数据集和表关系,再给出 SQL 方案和字段来源说明。AI 可能调用:rabetbase dataset list、rabetbase dataset detail、rabetbase dataset links、rabetbase sql validate。
校验已有 SQL
text
请帮我校验这条 SQL 是否适合保存到平台。
重点检查:是否只读、参数是否完整、字段和表名是否来自正确的数据集、是否有高风险语句。
如果有问题,请先说明原因和修正方案,不要直接保存。AI 可能调用:rabetbase sql validate、rabetbase dataset detail。
创建平台托管 SQL
text
请把「客户活跃度统计」保存成平台托管 SQL。
用途是:客户列表页顶部展示高价值客户、沉默客户和待跟进客户数量。
参数是:负责人、客户等级、统计时间范围。
保存前先校验,保存后告诉我 SQL 标识、本地文件位置和试跑方式。AI 可能调用:rabetbase sql validate、rabetbase sql create、rabetbase sql push、rabetbase sql exec。
修改已有 SQL
text
请修改「客户活跃度统计」,增加「客户来源」筛选条件和「最近跟进人」返回字段。
请先拉取当前定义,说明本次会改哪些内容。
修改后校验并用示例参数试跑,最后给出修改前后差异。AI 可能调用:rabetbase sql pull、rabetbase sql validate、rabetbase sql push、rabetbase sql exec。
试跑并解释结果
text
请用以下示例参数试跑「客户活跃度统计」:负责人是张三,客户等级是 A,时间范围是最近 90 天。
请解释返回结果里每个字段的业务含义。
如果结果为空或异常,请判断是参数问题、数据问题还是 SQL 条件问题。AI 可能调用:rabetbase sql detail、rabetbase sql exec。
写 Prompt 时要补充的信息
- 业务问题:例如按客户查订单、按月份统计收入、查异常工单。
- 入参:关键词、时间范围、状态、分页等。
- 返回字段:页面或接口真正需要展示的字段。
- 安全要求:只读查询、先校验、先预览、不直接覆盖旧 SQL。
完成检查
- SQL 涉及的数据集、表和字段来源已经说明清楚。
- 参数定义完整,示例参数可以试跑。
- 保存或修改前已经校验风险。
- 返回结果能解释业务含义,前端或 BFF 可以继续调用。
下一步:如果要把 SQL 用到前端或 BFF 中,继续看「代码生成与菜单」或「BFF 脚本:本地与远端同步」。