Oracle利用存储过程返回结果集开发报表

在Oracle开发过程中,经常会遇到各种形式的报表展示,有些报表用sql语句直接是写不出来的,需要程序与sql配合着实现,但是这样写出来的报表查询速度慢,而且不利

Bolt.new Bolt.new

Bolt.new是一个免费的AI全栈开发工具

Bolt.new 466 查看详情 Bolt.new

这里重点就是v_sql变量,将所有需要的逻辑关系写好,整体赋值给v_sql,最后打开输出游标(ds)即可。

下面是一个完整的Oracle存储过程返回结果集的例子,大家可以参考:

先看一下最终效果:

Oracle利用存储过程返回结果集开发报表

这里同时也实现了动态列、层级展示的效果。

SQL代码:

procedure pro_tj_getDate_normal_year(v_sDate varchar2,ds out ds_cur) asd_date date;d_eDate date;n_diff number :=0; –年份差n_item number :=0; –是否保存有指标v_sql varchar2(10000);v_sql_t varchar2(5000);v_sql_where varchar2(5000);v_itemCode varchar2(100);–指标类别n_i number;v_fields varchar2(1000);v_year varchar(5); begin–计算年份差select substr(v_eDate,1,4) – substr(v_sDate,1,4)into n_difffrom dual;–判断当前用户在所选公司是否保存指标select count(*) into n_item from BP_J_TJZH_ITEM_LIST lwhere l.org_code=v_complany and l.work_code=v_user;if n_item>0 thenv_sql_where := ‘ and i.item_code in(select l.item_code from BP_J_TJZH_ITEM_LIST lwhere l.org_code=”’|| v_complany || ”’ and l.work_code=”’ || v_user || ”’)’;elsev_sql_where := ”;end if;–判断指标类别是否为空if v_type=” or v_type is null thenv_itemCode := v_complany || ‘-0-000001′;elsev_itemCode := v_type;end if;if n_diff0 thenv_sql := v_sql||’left join (select t.item_code_prefix,t.data_value from (select n.data_date,n.item_code_prefix,n.data_value,row_number() over(partition by to_char(n.data_date,”yyyy”),n.item_code_prefix order by n.data_date desc) rnfrom bp_j_stat_ntz nwhere n.org_code=”’||v_complany||”’and to_char(n.data_date,”yyyy”) = ”’||to_char(d_date,’yyyy’) ||”’) t where t.rn=1) t’||n_i||’on i.item_code_prefix=t’||n_i||’.item_code_prefix’;elsev_sql := v_sql||’left join (select t.item_code_prefix,t.data_value from (select n.data_date,n.item_code_prefix,n.data_value,row_number() over(partition by to_char(n.data_date,”yyyy-mm”),n.item_code_prefix order by n.data_date desc) rnfrom bp_j_stat_ntz nwhere n.org_code=”’||v_complany||”’and to_char(n.data_date,”yyyy-mm”) = ”’||to_char(d_date,’yyyy-mm’) ||”’) t where t.rn=1) t’||n_i||’on i.item_code_prefix=t’||n_i||’.item_code_prefix’;end if;v_fields := v_fields || ‘t’ || n_i || ‘.data_value as “‘||v_year||'”,’;n_i := n_i+1;d_date :=add_months(d_date,12);end loop;v_sql_t := ‘select i.item_code_prefix,lpad(” ”,2 * level – 2) || i.item_name as item_name,u.unit_name,’||v_fields||’nullfrom bp_c_stat_item ileft join bp_c_measure_unit uon i.unit_id=u.unit_id’;v_sql := v_sql_t || v_sql || ‘where i.is_use=”Y” and i.org_code=”’ || v_complany || ”’ ‘ || v_sql_where ||’start with i.item_code_prefix = ”’||v_itemCode || ”’connect by prior i.item_code_prefix=i.parent_item_codeorder SIBLINGS BY i.order_by asc’;end if;–打开游标open ds for v_sql;end pro_tj_getDate_normal_year;

这个sql实现了根据动态日期展示指标数据,很实用哦。如果大家有其他更好的办法可以一起讨论。

原文地址:

本文出自 “IT独行者” 博客,,请务必保留此出处

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/903245.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月28日 21:41:26
下一篇 2025年11月28日 21:44:24

相关推荐

  • Aster是什么?币安领投的去中心化永续合约交易所(Perp DEX)

    目录 什么是Aster?Aster 如何工作?Aster 产品AsterEX – Perp DEX 交易所Aster Earn – 优化资产收益USDF – USDT 支持的稳定币Aster 的突出特点 AST代币和代币经济学概述Aster​​​​​​​路线图Aster项目团队、投资者和合作伙伴项目…

    2025年12月8日 好文分享
    000
  • 跨链桥是什么 跨链桥的原理

    跨链桥是解决不同区块链孤岛效应的技术工具,其核心原理通过锁定原链资产、生成映射资产实现跨链流通。1. 跨链桥的基本逻辑分为三步:锁定原链资产、在目标链生成等价映射资产、反向解锁释放资产;2. 信任机制分为三类:中心化跨链桥依赖第三方机构,效率高但存在单点故障风险;去中心化跨链桥通过节点共识验证,安全…

    2025年12月8日
    000
  • 以太坊上有哪些知名的跨链桥项目?

    以太坊上有多个知名跨链桥项目,各具特色。1. Crosser:基于零知识技术,专为 Layer 2 性能优化,支持 Optimism、Arbitrum 等网络,具备快速、安全、低手续费及交易私密性;2. Synapse Protocol:去中心化跨链桥,简化区块链间资产流动,支持多种 Layer 1…

    2025年12月8日
    000
  • 智能合约风险vs平台跑路,如何平衡收益与风险?

    在数字资产和区块链的世界里,潜在的高收益总是伴随着显著的风险。投资者在追求回报的同时,必须清醒地认识并应对这些风险。其中两大类风险尤为突出:一类是技术层面的智能合约风险,另一类是操作及信任层面的平台风险,后者有时表现为平台运营者“跑路”。理解并平衡这两类风险,是数字资产投资中的重要课题。 智能合约中…

    2025年12月8日
    000
  • 区块链预言机有啥用?为什么需要链外数据?预言机工作原理

    区块链技术的核心在于其去中心化与不可篡改的特性,这使得链上的交易和状态变更具有极高的安全性和透明度。然而,区块链的天然环境是隔离的,它无法直接访问外部世界的信息。 智能合约是运行在区块链上的自动化合约代码,它们的执行通常需要依赖特定的条件。这些条件可能与链上的事件有关,比如某个代币的转移或特定地址的…

    2025年12月8日
    000
  • 币安领投的Bedrock(BR)币是什么?BR币怎么买及价格预测

    目录 Bedrock(BR)是什么?Bedrock 项目背景Bedrock 的运作原理BR币是什么?BR代币经济学BR币价格走势分析BR币价格预测(2025–2030)1、PricePrediction.net 2、DigitalCoinPrice3、CoinDataFlow4、ExolixBedr…

    2025年12月8日 好文分享
    000
  • 数字黄金稳定币是什么?如何确保与黄金价格挂钩

    数字黄金稳定币通过实物黄金储备、独立审计、保管安全、铸造销毁、市场套利和价格预言机六项机制确保与黄金价格挂钩。1、每个代币对应特定重量的实物黄金;2、定期第三方审计保障透明度;3、专业机构保管降低风险;4、用户购买时铸造代币,赎回时销毁;5、市场套利自动纠正价格偏差;6、价格预言机提供实时金价数据,…

    2025年12月8日
    000
  • Impossible Cloud Network(ICNT)是什么?怎么样?币安即将上线项目ICN全面介绍

    目录 一、ICN是什么?二、ICNT最新动态三、ICN与其他DePIN项目的对比及经济模型四、DePIN 赛道的下一阶段展望结语 5月底,icn(impossible cloud network)@icn_protocol 宣布获得 ngp capital 战略投资,估值达到 4.7 亿美元,很多人…

    2025年12月8日
    000
  • Fragmetric(FRAG)是什么?怎么样?FRAG代币经济与未来前景分析

    目录 什么是 Fragmetric (FRAG)?Fragmetric 与 FRAG 代币的区别Fragmetric 解决了哪些问题?1. 传统 Staking 的资金效率低下2. 网络安全碎片化3. 复杂的产量优化4. DeFi 中的社区治理有限Fragmetric 的历史和背景Fragmetri…

    2025年12月8日 好文分享
    000
  • 链上股票是什么 链上股票概念加密货币有哪些

    链上股票是通过区块链技术将传统股票转化为加密代币的创新形式,1.其核心优势包括全球可及性、全天候交易、碎片化所有权和可组合性;2.主要风险涉及监管不确定性、价格脱锚风险和协议风险;3.代表性项目有Synthetix(SNX)、Mirror Protocol(MIR)、UMA(UMA)和Deus Fi…

    2025年12月8日
    000
  • 以太坊跨链桥是什么?如何实现资产转移?

    区块链技术催生了众多独立的网络,如以太坊、币安智能链、polygon等。每个网络都有其独特的设计和协议。然而,这种独立性也带来了资产和信息难以在不同链之间自由流动的挑战。例如,以太坊上的erc-20代币无法直接在polygon网络上使用。为了解决这个隔离问题,跨链桥应运而生,成为连接不同区块链网络的…

    2025年12月8日
    000
  • CESS Network是什么?怎么样?CESS币项目介绍与投资价值分析

    目录 CESS币最新新闻CESS Network项目介绍开创去中心化云存储无与伦比的性能和合乎道德的AI 集成阶层系统架构实际应用和用例为什么选择CESS Network?CESS 代币经济学最后的思考常见问题 在不断发展的区块链技术世界中,数据管理已成为一项重大挑战,推动了对去中心化、可扩展和安全…

    2025年12月8日
    000
  • CETUS协议:使用创新的架构和代币学乘坐Sui Defi浪潮

    深入了解cetus协议的架构、代币经济及其在构建sui defi生态中的关键作用。探索其前沿特性与未来潜力。 CETUS协议正在重塑SUI DeFi格局!本文深入剖析了Cetus的技术架构、代币机制及其日益增强的影响力。准备好见证Cetus如何推动SUI去中心化金融的未来发展。 CETUS协议:SU…

    2025年12月8日
    000
  • MOCA链:革新数字身份和分散隐私

    探索moca链如何以分散隐私和用户数据控制为核心,重塑数字身份体系。 MOCA链:重构数字身份与隐私保护的新范式 在数据安全日益受到重视的今天,MOCA链应运而生,成为解决用户隐私问题的关键力量。这条Layer 1区块链致力于让用户掌握自己的数字身份,同时实现真正的去中心化隐私管理。接下来,我们将深…

    2025年12月8日
    000
  • SPK币是什么?Spark 的治理结构、依赖与风险介绍

    在前两篇中,我们已经理解了 spark 的产品结构与空投机制,但一个 defi 项目能否真正走远,关键还在于它背后的人与权力——治理架构是否健康?资金机制是否透明?依赖路径是否安全可控? 今天这篇文章,我们就来完整拆解 Spark 的治理结构、与 MakerDAO 的深度绑定关系,以及可能面临的结构…

    2025年12月8日
    000
  • 什么是Mira?Mira功能、团队、未来、路线图介绍

    什么是mira?mira有什么作用?2025 mira发展路线图是什么? 近年来,生成式人工智能的快速发展对基础设施和工作流程提出了新的要求,特别是在验证和评估方面。 Mira正在构建一个创新的第1层网络,为AI输出提供无需信任、可扩展且准确的验证。通过将复杂的AI输出分解为更小的可验证部分,并利用…

    2025年12月8日 好文分享
    000
  • 顶级RWA加密项目将于2025年观看

    本文探讨,列出和审查了最佳的rwa加密投资,这些投资可能在2025年提供超大的回报。 迫切需要弥合传统金融与区块链技术之间差距的努力为新的创新浪潮打开了大门,令牌化是最新的。 该概念本身(令牌化)与将物理和传统金融资产转换为区块链的数字代币有关。 在太长时间以来,由于高入境成本,地理限制和流动性问题…

    2025年12月8日
    000
  • ChainLink(Link)鲸鱼交易6000万美元,市场活动峰值45%

    分散的Oracle协议ChainLink(Link)在过去24小时内作为鲸鱼交易在过去24小时内注册了重大市场活动。 根据Intotheblock数据,ChainLink(Link)的鲸鱼活动激增,在过去24小时内,大量交易量增加了45%。 这种活动的激增可能是由于市场的价格转移,这引起了大型持有人…

    2025年12月8日
    000
  • XRP价格动作形成了头和股的模式,为暴跌设置了舞台

    在5月份尝试重新获得高于$ 2.60的动量后,xrp一直难以保持这一涨势。 Chainlink的一份最新报告强调了去中心化Oracle网络在推动高级混合金融产品开发中的核心作用。这类融合传统金融(“Fi’”)与去中心化金融(“’defi’”)的产品,有望重塑金融领…

    2025年12月8日
    000
  • UNI继续领导分散的交易所

    尽管竞争激烈,但其一致的升级和强大的流动性池有助于保持相关性。 加密货币的价格每天可能会大幅上涨或下降,试图预测价格变动可能有风险。最好投资于您理解和相信的加密货币,并为损益的可能性做好准备。此外,重要的是要注意,加密货币是一种挥发性资产类别,任何预测价格变动的尝试都是投机性的。 加密货币的价格,尤…

    2025年12月8日
    000

发表回复

登录后才能评论
关注微信