存储过程数据集

这里的存储过程指的是数据库的存储过程,这里不是创建存储过程,而是使用存储过程

使用场景

● 原来的数据查询是通过存储过程写的,不想重新写sql…
● 通过存储过程可以避免重复写SQL…
● SQL支持传参,通过存储过程也可以传参数…

需求描述

我想要一个存储过程,传入表名就可以返回该表中的所有数据,我想通过存储过程查询系统操作日志表(gc_log表)信息。

需求分析

通过以上需求可知,需要先创建一个存储过程,这里以MySQL为例,代码如下

CREATE PROCEDURE GetAllData(IN tableName VARCHAR(255))
BEGIN
  SET @query = CONCAT('SELECT * FROM ', tableName);
  PREPARE stmt FROM @query;
  EXECUTE stmt;
  DEALLOCATE PREPARE stmt;
END;

数据集配置

找到并点击顶部【数据集管理】标签页,在右侧页面点击【新增】按钮

点击【存储过程数据集】选项

名称输入:操作日志记录,选择一个正确的数据源,在下面的脚本输入如下内容

call GetAllData('gc_log')

点击【运行】按钮,可在【数据预览】看到 return 的数据,在右侧【输出字段】可看到数据中的字段信息。

点击【输出字段】右侧的【配置】按钮,填写对应字段的描述信息,点击【确定】按钮。

点击页面右上角【保存】按钮即可。
接下来在低代码设计器中使用上面开发好的存储过程数据集了😄,使用方式上没有区别。

数据集参数

存储过程数据集的输入为存储过程的入参,点击页面右上角【存储过程参数】右侧【配置】按钮,进行参数新增或修改,如下:存储过程入参 username,使用规范为${变量名}

call getUserInfo(${username})

开发规范

开发规范

  • 数据必须是数组类型
  • 数据仅第一层有效,子节点无效

正确响应格式

[
    {
        "key1": "value1",
        "key2": "value2",
        "key3": "value3"
    },
     {
        "key1": "value1",
        "key2": "value2",
        "key3": "value3"
    },
     {
        "key1": "value1",
        "key2": "value2",
        "key3": "value3"
    }
]

错误响应格式

返回的数据非集合

{
        "key1": "value1",
        "key2": "value2",
        "key3": "value3"
}

返回的有效数据不在第一层

[
    {
        "data": [
            {
                "key1": "value1",
                "key2": "value2",
                "key3": "value3"
            },{
                "key1": "value1",
                "key2": "value2",
                "key3": "value3"
            }
        ]
    }
]
文档更新时间: 2024-11-28 16:44   作者:北京-产品-yantings
上一篇:
下一篇: