存储过程要返回结果集,结果集是在存储过程中自插入的数据,怎么实现?

_三皮_ 2010-12-14 02:47:21
我的存储过正中要循环处理A表(10条记录)的数据,处理时部分记录(如:2、6、8、9条)报错,我想把错误记录的ID字段和处理时的系统时间作为结果集返回到我的C#程序。是不是要定义 ref cursor,怎样往 ref cursor放数据。SQL SERVER 能定义虚拟表,在ORACLE怎么办哪?哪位大侠能举个小例子(存储过程)说明一下?
...全文
85 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
minitoy 2010-12-14
  • 打赏
  • 举报
回复
如果数据量比较大可以使用临时表.
minitoy 2010-12-14
  • 打赏
  • 举报
回复
如果数据量很小的话可以使用拼sql的方法来返回cursor
SQL> create or replace procedure proc_return_error(o_cur out sys_refcursor)
2 as
3 v_sql varchar2(4000);
4 begin
5 v_sql:='select * from (
6 select cast(null as number(20)) id ,cast(null as date) dealdate from dual';

7 for i in 1..10 loop
8 if mod(i,3)=0 then
9 v_sql:=v_sql||' union all select '||i||',sysdate from dual';
10 end if;
11 end loop;
12 v_sql:=v_sql||')where dealdate is not null';
13 open o_cur for v_sql;
14 end;
15 /

Procedure created.

SQL> var cv_a refcursor
SQL> exec proc_return_error(:cv_a);

PL/SQL procedure successfully completed.

SQL> print cv_a

ID DEALDATE
---------- --------------
3 13-12月-10
6 13-12月-10
9 13-12月-10
Oraclefans_ 2010-12-14
  • 打赏
  • 举报
回复
不好搞。。。游标还实现不了,使用oracle的类型,又不知道C#支持不?
你如果只要返回id,你就直接返回一个id的字符串就行了。然后使用你的程序去split下。。
chengfellow 2010-12-14
  • 打赏
  • 举报
回复
把帖子转到ORACLE版问下
什么是数据仓库呢?数据仓库是一个为数据分析而设计的企业级数据管理系统。数据仓库可中、整合多个信息源的大量数据,借助数据仓库的分析能力,企业可从数据中获得宝贵的信息进而改进决策。同时,随着时间的推移,数据仓库中积累的大量历史数据对于数据科学家和业务分析师也是十分宝贵的。 数据仓库建模的意义是什么呢?如果把数据看作图书馆里的书,我们希望看到它们在书架上分门别类地放置;如果把数据看作城市的建筑,我们希望城市规划布局合理;如果把数据看作电脑文件和文件夹,我们希望按照自己的习惯有很好的文件夹组织方式,而不是糟糕混乱的桌面,经常为找一个文件而不知所措。数据模型就是数据组织和存储方法,它强调从业务、数据存取和使用角度合理存储数据。只有将数据有序的组织和存储起来之后,数据才能得到高性能、低成本、高效率、高质量的使用。 数据仓库建模的最终目的是什么呢?高性能:良好的数据模型能够帮助我们快速查询所需要的数据。低成本:良好的数据模型能减少重复计算,实现计算结果的复用,降低计算成本。高效率:良好的数据模型能极大的改善用户使用数据的体验,提高使用数据的效率。高质量:良好的数据模型能改善数据统计口径的混乱,减少计算错误的可能性。 本课程将基于理论和实践讲解数据仓库,包含基础知识:数据仓库建模方法论、数据仓库分层模型、数据仓库构建流程、事实表、维度表、指标体系、拉链表、维度模型等 ,基于真实电商业务作为实战,讲解电商数仓的整个构建过程,让大家在实战中理解和掌握数仓的理论知识。
课题一高性能高扩展的千亿级实时数据仓库全实现 随着我们从IT时代步入DT时代,数据积累量也与日俱增,同时伴随着互联网的发展,越来越多的应用场景产生,传统的数据处理、存储方式已经不能满足日益增长的需求。而互联网行业相比传统行业对新生事物的接受度更高、应用场景更复杂, 因此基于大数据构建的数据仓库最先在互联网行业得到了尝试。 高性能高扩展的亿级电商全端实时数据仓库全实现(PC、移动、小程序) ,以热门的互联网电商实际业务应用场景为案例讲解,对电商数据仓库的常见实战指标以及难点实战指标进行了详尽讲解,具体指标包括:每日、月大盘收入报表、高付费用户分析报表、流量域多方位分析、营销域多方位分析、实时排行榜指标分析、用户主题分析、店铺主题时间区间分析等,数据分析涵盖全端(PC、移动、小程序)应用,与互联网企业大数据技术同步,让大家能够真正学到大数据企业级数据仓库的实战经验。 本课程凝聚讲师多年一线大数据企业实际项目经验,大数据企业在职架构师亲自授课,全程实操代码,带你体验真实的大数据开发过程,代码现场调试。通过本课程的学习再加上老师的答疑,你完全可以将本案例直接应用于企业。 课题二基于Flink+Hudi构建企业万亿级云上实时数据湖教程 随着互联网的发展,数据的不断膨胀,从刚开始的关系型数据库到非关系型数据库,再到大数据技术,技术的不断演进最终是随着数据膨胀而不断改变,最初的数据仓库能解决我们的问题,但是随着时代发展,企业已经不满足于数据仓库,希望有更强大的技术来支撑数据的存储,包括结构化,非结构化的数据等,希望能够积累企业的数据,从中挖掘出更大的价值。基于这个背景,数据湖的技术应运而生。 本课程基于真实的企业数据湖案例进行讲解,结合业务实现数据湖平台,让大家在实践中理解和掌握数据湖技术,未来数据湖的需求也会不断加大,希望同学们抓住这个机遇。 项目中将以热门的互联网电商业务场景为案例讲解,具体分析指标包含:流量分析,订单分析,用户行为分析,营销分析,广告分析等,能承载海量数据的实时分析,数据分析涵盖全端(PC、移动、小程序)应用。 课题三基于电商业务全链路数据中台落地方案(全渠道、全环节、全流程) 在互联网发展浪潮中,数据对于企业的价值是非常大的,怎么管理好数据,以及快速挖掘数据价值,共享数据价值,急需一套解决方案,在数据开发中,核心数据模型的变化是相对缓慢的,同时,对数据进行维护的工作量也非常大;但业务创新的速度、对数据提出的需求的变化,是非常快速的。数据中台的出现,就是为了弥补数据开发和应用开发之间,由于开发速度不匹配,出现的响应力跟不上的问题。数据中台解决的问题,包括:效率问题、协作问题、能力问题,数据中台是聚合和治理跨域数据,将数据抽象封装成服务,提供给前台以业务价值的逻辑概念。 本课程基于真实企业数据中台建设架构进行讲解,带大家构建数据中台,通过学习完本课程可以节省你摸索的时间,节省企业成本,提高企业开发效率。 课程包含几大模块:数据源管理、数据接入管理、数据质量管理、数据质量报告、数据安全管理、数据查询IDE、数据血缘以及元数据管理、数据中台实战应用等,对于数据中台涉及到的业务以及技术进行详尽的讲解。

17,090

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧