助手
扣子 AI 帮助与支持
你好,我是 扣子 文档问答助手 🎉 你在阅读当前文档的过程中,无论对文档概念的解释,还是文档内容方面的疑问,都可以随时向我提问,我会全力为你解答
推荐问题
如何快速了解这个空间的核心内容?
有哪些近期更新的重点文档?
我应该从哪些文档开始阅读?
文档反馈
低代码项目
快速开始
智能体
应用
资源
发布
模型
多人协作
开发工具
推广与变现

SQL 自定义节点

更新于: 2026-06-24 15:44:40

低代码工作流中的 SQL 自定义节点用于对指定数据库进行常见的 SQL 操作。

注意

数据库节点已更名为 SQL 自定义节点。

节点说明

SQL 自定义节点可以连接智能体或应用中指定的数据库,对数据库进行新增、查询、编辑、删除等常见操作,实现动态的数据管理。SQL 自定义节点需要指定待操作的数据库表和对应的 SQL 语句,支持通过自然语言智能生成 SQL 语句。

注意

  • 开发调试阶段不会改动数据库原表,在调试区查看到的是测试数据,和数据库中的真实数据是隔离的。
  • 在低代码工作流中调试 SQL 自定义节点时,不能使用库数据表中的真实数据,需要先插入数据后再进行查、删、改等操作的测试。

低代码工作流还支持通过图形化方式进行数据的增、删、改、查操作,当你不熟悉 SQL 语句时,可使用以下节点操作数据库。

配置 SQL 自定义节点

输入

节点的输入参数,即 SQL 语句中需要使用的参数,可以设置为固定值,也可以引用上游节点的输出参数。

数据表

在数据表区域,你需要根据页面提示添加需要操作的数据表,每个 SQL 自定义节点仅支持操作一张数据表。
在调试期间,SQL 自定义节点显示和使用的是数据表的测试数据,而非数据库中的真实线上数据。单击数据表或单击查看数据,弹出数据表的详情页,可查看此数据表的测试数据。你可以手动添加或修改测试数据,也可以试运行 SQL 自定义节点,通过 SQL 语句插入或修改数据。
Image

SQL

在 SQL 区域输入需要对数据表执行的 SQL 操作,兼容 SQL92 的常用语法。SQL 语句中可以引用SQL 自定义节点输入参数中定义的变量,引用格式为 {{变量名}}

注意

每个 SQL 自定义节点中仅支持添加一条 SQL 语句。

你可以自行编写 SQL 语句,也可以根据页面提示由 AI 帮你生成一段 SQL 语句。单击自动生成,并在弹出的页面中使用自然语言描述要执行的操作,单击自动生成生成 SQL 语句,确认无误后单击使用Use
Image

输出

SQL 自定义节点的输出参数是 SQL 执行后的输出内容,固定为以下四项:

  • outputList:SQL 执行后数据表中的字段和数据。你可以按需新增子项,注意变量名需与 SQL 中定义的字段名一致、数据类型需要和数据表中定义的数据类型一致。
  • rowNum:执行新增、删除、更新操作时受影响的行数,执行查询操作时值固定为 0。
  • errorBody:节点执行失败时的详细信息,包括 errorMessage 和 errorCode。
  • isSuccess:节点执行状态,true 表示执行成功,false 表示执行失败。

其中isSuccesserrorBody 仅在节点的异常处理方式设置为返回设定内容执行异常流程时返回,用于节点执行异常时传递详细信息。

异常处理

默认情况下,节点运行超时、运行异常时,工作流会中断,工作流调试界面或 API 中会返回错误信息。你也可以手动设置节点运行超时等异常情况下的处理方式,例如超时时间、是否重试、是否跳转异常分支等。

异常处理设置

说明

超时时间

超时时间指节点运行的最大耗时,如果超过此时长,则判断为节点运行超时。
默认情况下,节点的超时时间默认为 60s,即 1 分钟。你也可以将其改为 0.1s~60s,灵活控制超时时间。

重试次数

节点运行超时或异常时,默认不重试,你也可以设置为重试 1 次。

异常处理方式

节点运行超时或异常时,默认中断工作流。你也可以手动修改此节点的异常处理方式:

  • 中断流程:工作流执行中断,不再运行后续节点。
  • 返回设定内容:发生异常后,工作流运行不会中断。开发者可自定义设置需要返回的输出字段内容,必须是输出中已定义的字段,且格式为合法的 JSON 格式。另外,节点还会返回输出参数 isSuccesserrorBody,传递节点异常的详细信息。
  • 执行异常流程:发生异常后,工作流运行不会中断,转而执行异常流程分析,开发者需要为新增的异常分支配置处理流程。异常信息会通过节点的输出参数 isSuccesserrorBody 返回。

Image

示例

你可以在工作流中添加大模型节点和 SQL 自定义节点,实现动态生成 SQL 语句并对数据库执行 SQL 操作。例如在工作流中添加大模型节点,设定其角色为专业的 SQL 语句生成助手,然后在 SQL 自定义节点中,引用大模型生成的 SQL 语句。当你输入自然语言描述的数据库操作需求(获取 reading_notes 数据表中的所有数据)时,大模型节点会迅速将其精准转换为纯 SQL 语句 SELECT * FROM reading_notes;,SQL 自定义节点则会根据该语句执行相应的数据库操作。
Image

节点类型

说明

示例

开始

工作流的起始节点,添加变量 input,变量类型为 String

Image

大模型

添加大模型节点,用于将自然语言描述的数据库操作转换为 SQL 语句。

  • 输入:添加 input,其值需引用开始节点的 input 变量。
  • 系统提示词:添加大模型提示词,需指定将自然语言描述的数据库操作转换为 SQL 语句,并确保返回结果仅包含 SQL 语句,无其他描述信息。
  • 用户提示词:设置为 {{input}}
  • 输出:添加 output,变量类型为 String

Image

SQL 自定义

添加 SQL 自定义节点,执行数据库操作。

  • 输入:添加 input,其值需引用大模型节点的 output 变量。
  • 数据表:添加需要执行操作的数据表。
  • SQL:设置为 {{input}}
  • 输出:固定为 outputListrowNum

Image

结束

工作流的结束节点,添加变量 output,引用 SQL 自定义节点的outputList 参数,即输出 SQL 的执行结果。

Image

常见问题

为什么调试 SQL 自定义节点的结果和线上效果不一致?

调试工作流时,SQL 自定义节点使用的是临时的测试数据,线上执行工作流时使用的是数据库中的真实数据,所以统计查询的结果会有差异。

为什么 GROUP_CONCAT 的结果会被截断?

GROUP_CONCAT 是 MySQL 中的一个聚合函数,用于将多行数据连接成一行字符串。MySQL 对该函数的输出长度有一个默认的限制,这个限制由系统变量 group_concat_max_len 控制,在扣子编程中,这个限制为 1024 字节且不可调整。如果 GROUP_CONCAT 合并后的结果超过这个长度,会自动截断超出部分。
不建议在 SQL 节点中处理类似的拼接、计算逻辑,你可以选择用 SQL 节点查询数据,再通过代码节点去拼接最终结果。