一月下旬新内容速递丨地理智能、函数实战与新春启航

年末将至,智慧不停!一月下旬更新聚焦地理智能、函数实战、二次开发与新春趣味活动,助你在数据探索中持续突破!

一、图表应用精选

【地图】GIS地图:告别平面报表,激活你的业务“地理智能”》→学习GIS地图应用,实现业务数据与地理信息的深度融合。
【散点图】商业世界的“关系侦探”》→掌握散点图在商业分析中的实战应用,洞察变量间的隐藏关系。

二、二次开发视频更新

Excel导入模板扩展数据处理类》→如何让导入的“1”和“0”自动变成“是”和“否”

三、函数应用进阶

【函数课堂】Fixed :数据计算中的“定海神针”》→系统讲解Fixed函数的使用场景与技巧,助你掌握数据计算的稳定性关键。

四、插件更新

离线导出功能集成阿里云OSS》→新增离线导出至阿里云OSS功能,提升数据导出安全性与存储灵活性。

五、新年活动进行中

新年第②弹|新春知识擂台:智慧解码,喜迎新年!》→新春特别活动,智慧解码挑战,喜迎新年好运!

六、任务持续上线

【图表应用】GIS地图诊断市场盈亏,制定精准策略》→掌握GIS地图分析技能,精准诊断市场表现,助力策略制定。
【函数】Fixed函数实战任务》→深入Fixed函数实战应用,提升数据计算稳定性和精准度。
【图表应用】散点图:你的“广告效果侦查局”已上线!》→运用散点图分析广告效果,成为数据驱动的“侦查高手”。
【新年活动】智慧解码擂台:挑战你的数据脑力!》→参与数据解码挑战,激活你的逻辑思维与分析能力。


地理智能赋能业务,函数实战夯实基础,新春活动智趣相融——一月下旬,与数据共赴新年新征程!

麦粉社区
>
帖子详情

Oracle在没有结果集返回的存储过程该怎么调用

安装指导 发表于 2024-9-13 01:29
发表于 2024-9-13 01:29:49
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2024-9-13 01:29:50
在Smartbi中调用Oracle存储过程时,如果存储过程没有返回结果集(即没有使用游标作为输出参数),您仍然可以通过以下方式在数据集中调用该存储过程。

方法一:使用动态SQL
创建一个包含动态SQL的存储过程:

在Oracle数据库中创建一个存储过程,该存储过程执行一些操作但不返回结果集。例如:
SQL
CREATE OR REPLACE PROCEDURE "FOODMART"."SP_NO_RESULT" (I_ID IN NUMBER) AS
BEGIN
  -- 执行一些操作,例如更新数据
  UPDATE account SET account_name = 'Updated' WHERE account_id = I_ID;
END;
在Smartbi中创建一个数据集:

在Smartbi中创建一个新的数据集,选择“原生SQL数据集”。
在SQL编辑器中编写以下SQL语句:
SQL
BEGIN
  "FOODMART"."SP_NO_RESULT"(:param_id);
END;
在这个例子中,param_id 是您在Smartbi中定义的参数,用于传递给存储过程。
保存并运行数据集:

保存数据集并运行它。在运行时,输入参数 param_id 的值,系统将调用存储过程并执行相应的操作。
方法二:使用SELECT语句包装
创建一个返回结果集的存储过程:

如果存储过程没有返回结果集,您可以创建一个新的存储过程,该存储过程调用原始存储过程并返回一个虚拟的结果集。例如:
SQL
CREATE OR REPLACE PROCEDURE "FOODMART"."SP_WRAPPER" (I_ID IN NUMBER, O_RESULT OUT VARCHAR2) AS
BEGIN
  -- 调用原始存储过程
  "FOODMART"."SP_NO_RESULT"(I_ID);
  -- 返回一个虚拟的结果
  O_RESULT := 'Operation Completed';
END;
在Smartbi中创建一个数据集:

在Smartbi中创建一个新的数据集,选择“原生SQL数据集”。
在SQL编辑器中编写以下SQL语句:
SQL
DECLARE
  v_result VARCHAR2(100);
BEGIN
  "FOODMART"."SP_WRAPPER"(:param_id, v_result);
  -- 返回结果集
  SELECT v_result AS result FROM dual;
END;
在这个例子中,param_id 是您在Smartbi中定义的参数,用于传递给存储过程。
保存并运行数据集:

保存数据集并运行它。在运行时,输入参数 param_id 的值,系统将调用存储过程并返回虚拟的结果集。
注意事项
在Smartbi中,数据集必须有返回结果集,因此即使存储过程没有返回结果集,您也需要通过上述方法返回一个虚拟的结果集。
如果存储过程执行的操作不需要返回结果集,您可以在Smartbi中创建一个“执行SQL”任务来调用存储过程,而不是通过数据集。
回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies
您需要登录后才可以回帖 登录 | 立即注册

1回帖数 0关注人数 1763浏览人数
最后回复于:2024-9-13 07:52

社区

指南

快速回复 返回顶部 返回列表