跳到主要内容

5.2.1 脚本支持

DataQL 负责读取参数、组合查询和转换结果。SQL 模式直接保存并执行原始 SQL,适合单次数据库操作。接口创建和定义管理见 可视化操作。

脚本使用 ${name} 读取 DataQL 参数,SQL 使用 #{name} 绑定值。输入由请求提供,返回值交给统一的响应处理。

DataQL 脚本​

问候接口
return {"message": ${message}};
请求参数
{"message": "Hello Dataway"}

脚本返回 {"message":"Hello Dataway"},默认 Structure 将它放入响应的 value。语法和内置函数见 DataQL 语言。

SQL 脚本​

应用接入 dataql-sqlproc 并提供 ConnectionProvider 后,在接口中选择 SQL 类型:

按 ID 查询人员
SELECT id, name FROM example_people WHERE id = #{id}
请求样例
{"id": 1}

#{id} 绑定实际请求的参数值。保存请求样例时包含 SQL 使用的参数名,发布接口按这些名称向 SQL 片段传参。

在 DataQL 中使用 SQL 时,通过 @@selectSql 定义查询片段,调用后继续处理结果。下面的脚本使用示例工程中的 ds1 数据源:

DataQL 中调用 SQL
hint FRAGMENT_SQL_DATA_SOURCE = "ds1"

var person = @@selectSql(id)<%
SELECT id AS "id", name AS "name"
FROM example_people
WHERE id = #{id}
%>;
return person(${id});

同一脚本可以组合多个查询。数据源选择见数据源接入,提交与回滚见事务函数库。

脚本调试、保存和发布的步骤见可视化操作。调试会实际执行脚本中的数据库操作。