oracle统计存储

问题描述

最近在搞oracle存储过程,主要是对以前项目的一个统计的维护,库和表已不能在优化,每天也会有新数据入库,加索引不符合实际,现在只能采用存储过程,因为自己对这一块不是很了解,上头也在催,希望各位牛人帮忙写一下,小弟不胜感激:现在那个建表语句我已给出(table2.sql),还有就是统计的sql也给出了(count.txt) 问题补充:能不能给一下java调用这个存数过程,最好详细点,像那些输入参数和返回结果的处理,最好把 1、没有返回值,2、有一个返回值,3、多个返回值等,这三种的条用情况都给出,加上注释更好;huoyj 写道

解决方案

这里的SYS_CURSOR是Oracle内置的游标类型,在java中对应的是oracle.jdbc.OracleTypes.CURSOR类型,下面是个java调用的例子:java中调用,并处理:CallableStatement cstmt = null;ResultSet rs = null;try {String callSql = "{? = call AAAAA(?)}";cstmt = conn.prepareCall(callSql); cstmt.setString(2, "userName");cstmt.registerOutParameter(1, oracle.jdbc.OracleTypes.CURSOR);cstmt.execute();rs = (ResultSet) cstmt.getObject(1); //直接当做ResutlSet类型来处理 if (rs != null) { System.out.print("usercd"); System.out.print("userName"); System.out.println("EMAIL"); while (rs.next()) { System.out.print(rs.getString(1)+" "); System.out.print(rs.getString(2)+" "); System.out.println(rs.getString(3)); } }
解决方案二:
CREATE OR REPLACE PROCEDURE SMS_COUNT(out_cursor OUT SYS_REFCURSOR) 这里面的out_cursor OUT SYS_REFCURSOR表示的就是返回值,OUT就表示的是输出参数,你可以写多个这样的输出参数就表示多个返回值。
解决方案三:
第一个sms的应该是这么写的,其他的也跟这个类似,你自己写就可以了,CREATE OR REPLACE PROCEDURE SMS_COUNT(out_cursor OUT SYS_REFCURSOR)IS v_sql VARCHAR2(200);BEGIN v_sql:='select to_char(tt.send_time,''yyyy-mm-dd''),message,'+ 'sum(decode(send_state, ''1'', 1, 0)),'+ 'sum(decode(send_state, ''1'', 0, 1)),'+ 'sum(decode(receipt_state, ''1'', 1, 0)),'+ 'sum(decode(receipt_state, ''2'', 1, 0)),'+ 'sum(decode(receipt_state, null, 1, '''', 1, 0)) +' 'from gw_sms_send_log tt '+ 'where to_char(tt.send_time, ''yyyy-mm-dd'') >=''2011-11-14''+ 'group by message,to_char(tt.send_time, ''yyyy-mm-dd'')'+ 'order by sum(decode(send_state, ''1'', 1, 0)) desc'; OPEN out_cursor FOR v_sql;END;

时间: 2024-09-30 15:37:17

oracle统计存储的相关文章

oracle 统计销售员销售业绩的sql(级联累加)

问题描述 oracle 统计销售员销售业绩的sql(级联累加) 销售员表 id name 销售额(万) 上级id 1 A 10 2 B 10 1 3 C 10 2 4 D 10 2 5 E 10 6 F 10 5 最后实现的结果是 id为1 的 总销售额是 40万 2的销售额 是30 万 3 的销售额10万 5的销售额是10 20万 ..... 就是从树的叶子开始依次将子节点的值加到父节点上 解决方案 create table xx_sale ( id number primary key, n

Oracle的存储结构关系

oracle数据库的整体结构                                                             数据库的结构关系 其实,我前面一篇讲表空间的时候就介绍了数据库的结构,只是那个图只是简单的层次关系,这张图片看上去挺封复杂的,只要关注几个概念就行了. Database(数据库) :数据库是按照数据结构来组织.存储和管理数据的仓库. Tablespaces(表空间) :表空间是数据库的逻辑划分,一个表空间只能属于一个数据库.所有的数据库对象都存放在

ascii字符串压缩-Oracle数据库存储需要:Ascii数值型字符串压缩

问题描述 Oracle数据库存储需要:Ascii数值型字符串压缩 数值型字符串,比如:123.44 23.54 34.65....,总数大约86400个,以空格符分隔,采用什么压缩算法最为有效?压缩速度要快,压缩比率越小越好,可还原,无损! 解决方案 Ascii的值都是整形的而且范围值0到127,浮点类型可以转换吗

racle+视频+存储-Oracle数据库存储视频音频能实现吗

问题描述 Oracle数据库存储视频音频能实现吗 我在用Oracle写一个数据库,想实现在数据库表中存储小段视频或者音频的功能,数据库表包含编号.名称.类型以及添加的视频/音频,这能够实现吗?求大神指点啊 解决方案 在ORACLE可以使用 BLOB数据类型来存储这些二进制数据流. 解决方案二: 可以使用 BLOB数据类型来存储这些二进制数据流,也可以只保存相对的路径或文件名.读取文件的时候使用根目录加上相对的路径或文件名就可以了.

甲骨文推出针对Oracle VM 3.0的Oracle VM存储连接插件

为http://www.aliyun.com/zixun/aggregation/17183.html">帮助客户减少在虚拟化环境的时间和复杂性,甲骨文公司近日宣布推出针对Oracle VM 3.0的Oracle VM存储连接插件(Oracle VM Storage Connect plug-ins for Oracle VM 3.0). Oracle VM存储连接是一个框架,可让存储厂商把他们先进的存储功能变成Oracle VM中自然的一部分. 通过同步推出的Oracle VM 3.0组

甲骨文推出业界首款云融合存储 助力企业集成本地和Oracle云存储

 甲骨文推出业界首款云融合存储,开创了大型公有云提供商将自己的云服务与自己在企业本地部署的高性能NAS存储系统集成的先河.最新推出Oracle ZFS存储系统产品之一的Oracle ZFS云软件,可让企业便利.无缝地将数据或应用程序迁移至云端,在优化价值.节约成本的同时,无需外部云网关,且无需支付软件授权和云访问授权的费用,这意味着本地部署供应商从其基础架构平台访问公有云将无需支付"云接入税"(cloud entrance taxes),这使得甲骨文的总体拥有成本比业界某个竞争对手低了

最新Oracle ZS3存储加快高吞吐量的业务分析和数据查询

北京,2013年9月12日--作为Oracle最新推出的ZFS存储设备,ZS3系列 能够http://www.aliyun.com/zixun/aggregation/17183.html">帮助客户极大地提高运行效率,降低数据中心成本,并提高业务应用性能.借助高级缓存架构和多线程SMP操作系统,与类似的NetApp.EMC.IBM和HP系统相比,ZS3系列实现了最高的吞吐量.最低的迟延和更好的性价比. Oracle 最新的ZS3 系列存储 能够通过高性能.动态自动化和广泛的Oracle联

[20150113]关于oracle的存储结构.txt

[20150113]关于oracle的存储结构.txt --这阵子在看vage写的>,里面第一章提到: --P2 --每个文件的前128个块,都是文件头,被Oracle留用了.在oracle 10g中是0-8号块被oracle留用.而从oracle 11GR2开始,一下就留用 -- 128个块. 而实际的情况呢?自己做一个测试: 1.测试环境: --我的测试环境:数据块大小8K. SCOTT@test> @ver1 PORT_STRING                    VERSION 

[20150414]oracle日期存储.txt

[20150414]oracle日期存储.txt --以前自己没有注意的问题,自己学习看看. SCOTT@test> @ver1 PORT_STRING                    VERSION        BANNER ------------------------------ -------------- -------------------------------------------------------------------------------- x86_6