跳到主要内容
版本:8.1.0

存储过程

概述

存储过程,是指通过参数化拉取的方式进行创建,并可在页面端对存储过程数据集发起参数化动态查询数据的功能。目前观远支持 MySQLSQLServerOracle 存储过程。

存储过程功能允许用户利用数据库中已有的存储过程,通过参数化的方式执行复杂的计算逻辑,获取结果数据。

适用场景

存储过程功能适用于以下场景:

  • 复杂计算逻辑:企业中过去通常有使用传统的报表需通过存储过程来实现复杂的计算逻辑的情况
  • 数仓集成:当企业在数仓里建了很多存储过程,则需要通过参数化的方式来执行存储过程,获取结果数据
  • 参数化查询:需要根据不同参数值获取不同结果的场景
  • 高性能数据处理:对于需要处理大量数据的复杂查询,使用存储过程可以提高性能

前提条件

接入存储过程数据集时,需要选择数据账户。

  • 已创建数据账户的用户可忽略此步;
  • 未创建数据账号的用户可前往 数据账户 查看更多。

操作步骤

进入存储过程创建页面

进入「数据准备 > 数据集」页面,点击「新建数据集 > 存储过程」。

选择连接器

进入配置界面,选择对应的连接器。

选择存储过程

  1. 选择数据账户

  2. 配置参数

    • 输入参数:用户可将「存储过程定义」里面的入参映射为观远数据的全局参数,同时支持自定义「默认值」。

    • 输出参数:对于 Oracle 存储过程,如果其「存储过程定义」内有输出参数,则需要选择输出的参数;若有多输出参数,仅可选择其中一个游标类型的输出参数。

数据库类型说明示例
MySQL、SQLServer仅支持返回单「结果集」、无输出参数的存储过程接入
Oracle支持返回多「结果集」、有输出参数的存储过程接入
  1. 预览数据

    点击「预览」,确认数据无误后,点击「下一步」。

设置数据更新方式

存储过程接入时,支持配置「调度状态」、「缓存有效周期」和「任务优先级」。

可参考标准数据库接入的数据更新配置,详见 标准数据库连接指南-数据连接及更新配置

确认数据表信息

  1. 填写基本信息

    填写数据集名称、存储路径、描述信息并确认,存储路径默认为系统根目录。

  2. 修改字段信息

    确认是否修改字段名称及类型,可参考标准数据库接入的数据更新配置,详见标准数据库连接指南-确认数据表信息

完成创建

最后点击「确认新建」,即可完成数据集创建。

注意事项

  1. 数据库支持:不同数据库的存储过程支持有所差异,MySQL、SQLServer 仅支持返回单「结果集」、无输出参数的存储过程,而 Oracle 支持返回多「结果集」、有输出参数的存储过程。
  2. 参数配置:确保正确配置存储过程的输入参数和输出参数,特别是 Oracle 存储过程的输出参数,仅可选择其中一个游标类型的输出参数。
  3. 权限设置:确保数据账户具有执行存储过程的权限,否则可能导致连接失败。
  4. 性能考虑:对于复杂的存储过程,可能会影响查询性能,建议合理设计存储过程逻辑。
  5. 数据更新:根据业务需求,合理设置数据更新方式和频率,确保数据的及时性和准确性。

术语表

  • 存储过程:在数据库中预定义的一组 SQL 语句,可通过参数化的方式执行
  • 数据集:观远数据平台中存储数据的基本单位
  • 参数化查询:通过传入不同参数值来获取不同结果的查询方式
  • 结果集:存储过程执行后返回的数据集合
  • 输出参数:存储过程中用于返回结果的参数
  • 游标:Oracle 数据库中用于处理结果集的指针
  • 全局参数:观远数据平台中可在多个地方使用的参数
  • 数据账户:连接数据库所需的认证信息
  • 连接器:观远数据平台中用于连接不同类型数据库的组件
  • 调度状态:数据集更新的调度设置
  • 缓存有效周期:数据集缓存的有效期
  • 任务优先级:数据集更新任务的优先级