ctx.sql
ctx.sql 提供 SQL 执行与管理能力,常用于 RunJS(如 JSBlock、事件流)中直接访问数据库。支持临时 SQL 执行、按 ID 执行已保存的 SQL 模板、参数绑定、模板变量({{ctx.xxx}})以及结果类型控制。
适用场景
注意:
ctx.sql通过flowSqlAPI 访问数据库,需确保当前用户有对应数据源的执行权限。
权限说明
面向普通用户的前端逻辑可使用 ctx.sql.runById(uid, options);需要动态 SQL 或管理模板时,需确保当前角色具备 SQL 配置权限。
类型定义
常用方法
注意:
run用于调试 SQL,需配置权限;save、destroy用于管理 SQL 模板,需配置权限;runById开放给普通用户,仅能按已保存模板执行,无法调试或修改 SQL;- SQL 模板有变动时,需调用
save保存。
参数说明
run / runById 的 options
save 的 options
SQL 模板变量与参数绑定
模板变量 {{ctx.xxx}}
在 SQL 中可使用 {{ctx.xxx}} 引用上下文变量,执行前会解析为实际值:
可引用的变量来源与 ctx.getVar() 一致(如 ctx.user.*、ctx.record.*、自定义 ctx.defineProperty 等)。
参数绑定
- 参数:SQL 中使用
$name,bind传对象{ name: value }

