ctx.sql 提供 SQL 执行与管理能力,常用于在 RunJS(如 JSBlock)中直接访问数据库。支持临时 SQL 执行、按 ID 执行已保存的 SQL 模板、参数绑定、结果类型控制,以及保存/删除 SQL 模板。
runById,即按已配置的 SQL 模板 ID 执行。run、save、destroy,即临时执行 SQL、保存/更新/删除 SQL 模板。因此,面向登录用户的前端逻辑可使用 ctx.sql.runById(uid, options);需要动态 SQL 或管理模板时,需确保当前角色具备 SQL 配置权限。
说明:实现位于 FlowSQLRepository,此处仅列出在 RunJS 中直接使用的常用方法与参数。
| 方法 | 说明 | 权限要求 |
|---|---|---|
ctx.sql.run(sql, options?) | 执行临时 SQL,支持参数绑定与结果类型控制 | 需 SQL 配置权限 |
ctx.sql.save({ uid, sql, dataSourceKey? }) | 按 ID 保存/更新 SQL 模板以供复用 | 需 SQL 配置权限 |
ctx.sql.runById(uid, options?) | 按 ID 执行已保存的 SQL 模板,options 与 run 一致 | 登录用户均可 |
ctx.sql.destroy(uid) | 删除指定 ID 的 SQL 模板 | 需 SQL 配置权限 |
run / runById 的 options
bind:绑定变量(对象或数组),可在 SQL 或模板中使用。type:结果类型(如 select 多行、selectRow 单行、selectVar 单值、raw 等),以实际接口为准。dataSourceKey:数据源标识。filter:筛选条件(视接口支持情况使用)。save 的 options
uid:模板唯一标识,保存后可用 runById(uid, ...) 执行。sql:SQL 内容。dataSourceKey:可选,数据源标识。