十二月初新内容速递丨技术精进、实战赋能与开发深化

寒冬未至,学习不止!十二月上旬更新带来技术精进、实战赋能、场景课程与开发深化,助你在数据智能的道路上持续进阶!

一、场景化课程上线

驱动增长:汽车制造营销分析主题课程→聚焦汽车行业营销场景,学习如何利用数据驱动业务增长。

价值引擎:汽车制造财务分析主题课程→深入财务数据分析,助力企业价值挖掘与决策支持。

二、场景应用上线

【爆】券业“卷王”诞生!他竟与AI助手海誓山盟》→看券商如何玩转AI助手,提升服务智能化水平。

【词云图】三分钟,让你成为“文字淘金高手”》→快速上手词云图,轻松提取文本关键信息。

三、技术经验分享

版本更新/升级不用愁!这份方案大全请拿好》→系统升级不再迷茫,一站式解决方案助你顺利过渡。

告别“系统用不了”的无效沟通,Smartbi运维急救包请收好》→高效运维指南,帮你快速定位并解决系统使用中的常见问题。

四、二次开发视频

扩展包开发知识点——自定义module以及接口调用》→深入学习扩展包开发,掌握自定义模块与接口调用的核心技术

五、任务持续上线

场景实战系列:数据更新&校验,赢取278麦豆!》→掌握数据更新与校验核心技能,完成任务即获奖励。

场景实战系列:数据模型,赢取278麦豆!》→深入数据建模实战,提升数据架构能力。

200麦豆等你拿!词云在手,焦点立现》→轻松掌握词云图制作,视觉化呈现文本数据。

六、全新素材上线

防止数据过载:可配置的导入行数次数上限→ 灵活控制数据导入,保障系统稳定运行。

三权分立控制用户权限→ 细化权限管理,提升系统安全性与管理效率。


麦粉社区
>
帖子详情

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关注人数 1660浏览人数
最后回复于:2024-9-13 07:52
快速回复 返回顶部 返回列表