`
xiyuliuguang
  • 浏览: 32608 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
社区版块
存档分类
最新评论
阅读更多
//oracle存储过程

CREATE OR REPLACE PROCEDURE "PROC_GROUP_SUMMARY_EBM" (
  VAR_CELL_ID IN VARCHAR2,
  VAR_GROUP_ID IN VARCHAR2,
  VAR_DATE IN DATE,
  VAR_OWNERLAND IN VARCHAR2,
  VAR_MOBILE_MANU IN VARCHAR2,
  VAR_OUT OUT PK_MOBILE.CUR_GROUP_SUMMARY
)
AS
  QUERY_STR VARCHAR2(1000) :=
  'SELECT DISTINCT
    F_GROUP_ID_CRBG,
    F_GROUP_NAME_CRBG,
    F_CELL_ID_CRBG,
    F_CELL_LOCAL_DESP_CRBG,
    F_RE_DATE_CRBG,
    COUNT(DISTINCT F_MSISDN_CRBG)
  FROM
    V_CS_RECORDS_BY_GROUP_EBM WHERE 1=1';
BEGIN

  IF (VAR_DATE IS NOT NULL) THEN
    BEGIN
      QUERY_STR := QUERY_STR||' AND F_RE_DATE_CRBG='''||VAR_DATE||'''';
    END;
  END IF;
  IF (VAR_CELL_ID IS NOT NULL) THEN
    BEGIN
      QUERY_STR := QUERY_STR||' AND F_CELL_ID_CRBG LIKE ''%'||VAR_CELL_ID||'%''';
    END;
  END IF;
  IF (VAR_GROUP_ID IS NOT NULL) THEN
    BEGIN
      QUERY_STR := QUERY_STR||' AND F_GROUP_ID_CRBG='''||VAR_GROUP_ID||'''';
    END;
  END IF;
  IF (VAR_OWNERLAND IS NOT NULL) THEN
    BEGIN
      QUERY_STR := QUERY_STR||' AND F_MSISDN_OWNERLAND_CRBG LIKE ''%'||VAR_OWNERLAND||'%''';
    END;
  END IF;
  IF (VAR_MOBILE_MANU IS NOT NULL) THEN
    BEGIN
      QUERY_STR := QUERY_STR||' AND LOWER(F_MSISDN_MANU_CRBG) LIKE ''%'||VAR_MOBILE_MANU||'%''';
    END;
  END IF;

  -- Group by AND Order by
  QUERY_STR := QUERY_STR||' GROUP BY
    F_GROUP_ID_CRBG,
    F_GROUP_NAME_CRBG,
    F_CELL_ID_CRBG,
    F_CELL_LOCAL_DESP_CRBG,
    F_RE_DATE_CRBG
  ORDER BY
    F_RE_DATE_CRBG DESC,
    F_CELL_ID_CRBG ASC';

  OPEN VAR_OUT FOR QUERY_STR;

END;






//package
CREATE OR REPLACE PACKAGE "PK_MOBILE" AS
  TYPE CUR_MOBILE_SOURCE_STATISTICS IS REF CURSOR;
End PK_MOBILE;




//view
CREATE OR REPLACE VIEW V_CELLS_BY_GROUP_EBM
(f_group_name_cbg, f_cell_id_cbg, f_cell_name_cbg, f_cell_lat_cbg, f_cell_lon_cbg, f_cell_local_desp_cbg, f_cell_district_cbg, f_group_id_cbg)
AS
SELECT
    CG.F_NAME_CG,
CI.F_CELL_ID_CI,
CI.F_CELL_NAME_CI,
CI.F_LAT_CI,
CI.F_LON_CI,
    LD.F_DESCRIPTION_LD,
    DIST.F_NAME_DIST,
    CG.F_ID_CG
FROM
    T_CELL_INFO_EBM CI
LEFT JOIN
    T_CELL_GROUP_EBM CG ON CI.F_GROUP_ID_CI=CG.F_ID_CG
LEFT JOIN
    T_DISTRICT_EBM DIST ON CI.F_DISTRICT_ID_CI=DIST.F_ID_DIST
LEFT JOIN
T_LOCAL_DESP_EBM LD ON CI.F_LOCAL_DESP_ID_CI=LD.F_ID_LD


//调用
String procCallableString = "{call PROC_GROUP_SUMMARY_SOURCE_EBM(?,?,?,?,?,?)}";
ResultSet resultSet = null;


try {

CallableStatement callableStatement = connection.prepareCall(procCallableString);
callableStatement.setString(1, cellId);
callableStatement.setString(2, groupId);
callableStatement.setDate(3, date);
callableStatement.setString(4, ownerLand);
callableStatement.setString(5, mobileManu);
callableStatement.registerOutParameter(6, OracleTypes.CURSOR);
callableStatement.execute();

resultSet = (ResultSet) callableStatement.getObject(6);
while (resultSet.next()) {

Map<String, Object> currentMap = new HashMap<String, Object> ();
currentMap.put("groupName", resultSet.getString("F_GROUP_NAME_CRBG"));
currentMap.put("ownerLand", resultSet.getString("F_MSISDN_OWNERLAND_CRBG"));
currentMap.put("date", DatetimeUtil.stringFormat10(resultSet.getDate("F_RE_DATE_CRBG")));
currentMap.put("count", resultSet.getLong(4));
records.add(currentMap);
}

} catch (SQLException e) {
e.printStackTrace();
}

return records;
分享到:
评论

相关推荐

    oracle相关知识文档

    首先,让我们来了解Oracle锁表的相关知识。在Oracle数据库中,锁是用来管理多用户并发访问同一资源的一种机制,以确保数据的一致性和完整性。主要分为共享锁(S锁)和排他锁(X锁)。当一个事务对表加了锁,其他事务...

    oracle相关知识手册

    本手册将深入探讨Oracle的核心概念、功能和管理技术,旨在帮助读者全面理解和掌握Oracle的相关知识。 一、Oracle数据库系统基础 Oracle数据库系统基于客户-服务器架构,支持SQL标准,提供高性能、高可用性和安全性...

    oracle基础知识入门

    对于初学者来说,掌握Oracle基础知识是进入数据库领域的第一步。本文将深入浅出地介绍Oracle数据库的一些核心概念和基本操作,帮助你快速入门。 一、Oracle数据库系统概述 Oracle数据库是由美国Oracle公司开发的,...

    Oracle语法oracle的基础知识

    Oracle语法,有关于oracle的基础知识。

    oracle基础知识考试题_答案.zip

    这个"oracle基础知识考试题_答案.zip"压缩包文件包含了关于Oracle数据库的基础知识学习材料,特别是针对初学者或者准备Oracle相关资格考试的人员。 首先,Oracle数据库的核心概念包括SQL(结构化查询语言)的使用,...

    oracle 知识库 (整理的chm文档)

    虽然这些知识来源于2004年的资源,但Oracle的基本原理和最佳实践并未发生根本变化。因此,对于初学者和经验丰富的数据库管理员来说,这些内容仍然是宝贵的参考资料。通过深入学习和实践,你可以更好地理解和运用...

    鸿鹄论坛_oracle中文知识库

    该CHM文件很可能包含了以下几方面的Oracle知识: 1. **基础概念**:介绍Oracle数据库的基本结构,如表、索引、视图、存储过程、触发器等,以及SQL语言的基础知识,如SELECT、INSERT、UPDATE、DELETE语句。 2. **...

    Oracle知识点整理笔记(二)Oracle学习进阶

    该资源是系统学习Oracle后做的整理,方便后来学者更好,更快的学习Oracle知识,资源里面有Oracle学习资料,以及学习期间整理辅助学习资料,此资源内容是Oracle知识点整理笔记的下篇,Oracle的初学篇知识学习可以查看...

    oracle基础知识回顾与练习.zip

    本资料“oracle基础知识回顾与练习.zip”是针对Oracle数据库的基础知识进行整理,采用纯SQL语句的形式,适合初学者及需要巩固基础的用户进行学习和实践。 1. SQL基础 SQL(Structured Query Language)是用于管理...

    Oracle经典教程 Oracle基本知识

    ### Oracle经典教程:Oracle基本知识 #### 一、Oracle简介 Oracle是一款由美国甲骨文公司(Oracle Corporation)开发的大型关系型数据库管理系统。作为一款成熟的数据库产品,Oracle被广泛应用于各行各业,尤其受...

    oracle知识体系结构

    oracle知识体系结构,

    oracle数据库基础知识

    这是我学习过程中整理的oracle数据库基础知识,里面包含了DML、DDL等相关语句。还解释了什么情况下该用什么样的SQL。包含了很多基础知识。欢迎大家收藏。

    oracle 学习知识点速查

    Oracle是一种强大的对象关系数据库管理系统(ORDBMS),它支持传统的关系型数据库功能,同时具备面向对象数据库系统的特性。...掌握这些知识点将有助于在实际工作中有效地管理和维护Oracle数据库。

    Oracle知识库(教程)

    Oracle知识库是一个全面涵盖Oracle数据库管理系统相关知识的资源集合,主要针对希望学习和掌握Oracle技术的用户。这个中文版的教程以CHM(Compiled Help Manual)格式提供,方便用户在无需互联网连接的情况下离线...

    Oracle数据库基础知识讲义.pptx

    Oracle数据库是全球知名的关系型数据库管理系统,由美国...了解和掌握Oracle数据库的基础知识,对于IT专业人士来说是至关重要的,无论是进行数据存储、管理还是开发复杂的企业应用,Oracle都能提供稳定、高效的支持。

    Oracle知识库

    Oracle知识库是一个全面涵盖Oracle数据库管理系统相关知识的资源集合,对于数据库管理员(DBA)、开发人员和IT专业人员来说,是提升技能和解决问题的重要参考资料。CHM文件是一种Microsoft编写的帮助文档格式,它将...

    Oracle 基础知识 -大全- 原创整理.pdf

    以下将详细讲解Oracle基础知识,包括数据库管理、表的创建与维护、SQL查询技巧、权限管理以及PL/SQL编程等方面。 1. **Oracle数据库优势** Oracle数据库因其高性能、高可用性和安全性而受到青睐。它支持大规模并发...

Global site tag (gtag.js) - Google Analytics