定期更新数据,以便统计;定期设置使用job
create or replace procedure CSHCYBQ(v_CSNF in varchar2) as
v_DQNY varchar2(6);--当前年月
v_TJNY varchar2(6);--统计年月
v_SCNY varchar2(6);--上一次统计年月
v_TJNJ varchar2(6);--统计年季
v_TJNF varchar2(4);--统计年份
v_TJYF number(2);--统计月份
v_TJJD varchar2(1);--统计季度
begin
delete dq_cybq;
v_DQNY:=to_char(sysdate,'YYYYMM');--初始化系统年月
v_SCNY:=(v_CSNF-1)||'12';--上一次统计年月置为起始统计季度的前一个季度
v_TJNF:=v_CSNF;
v_TJYF:=3;
v_TJNY:=v_TJNF||'03';
v_TJJD:='1';
v_TJNJ:=v_TJNF||'Q'||v_TJJD;
while v_TJNY < v_DQNY loop --统计时间要小于系统年月
insert into dq_cybq(id, tjqb, hyml, xzqh, cri, zczbzb)
with info as
(select q.hyml,q.xzqh,
nvl(sum(q.zczb),0) BQZCZB,--本期注册资本总和
(select nvl(sum(q2.zczb),0) from frk_gsj_qyjgdjxx q2
where q2.hyml=q.hyml and q2.xzqh=q.xzqh and q2.jyzt='1' and to_char(q2.clrq,'YYYYMM')<=v_SCNY) SQZCZB,--上期注册资本总和
(select nvl(sum(q2.zczb),0) from frk_gsj_qyjgdjxx q2
where q2.jyzt='1' and to_char(q2.clrq,'YYYYMM')<=v_TJNY) ZZCZB--注册资本总和
from frk_gsj_qyjgdjxx q
where q.jyzt='1' and to_char(q.clrq,'YYYYMM')<=v_TJNY
group by q.hyml,q.xzqh)
select SYS_GUID(),v_TJNJ,hyml,xzqh,(BQZCZB-SQZCZB)/ZZCZB*100,BQZCZB/ZZCZB*100 from info ;
v_SCNY:=v_TJNY;
v_TJYF:=v_TJYF+3;
v_TJJD:=v_TJJD+1;
if v_TJYF > 12 then
v_TJNF:=v_TJNF+1;
v_TJYF:=3;
v_TJJD:='1';
v_TJNY:=v_TJNF||'03';
v_TJNJ:=v_TJNF||'Q'||v_TJJD;
else
v_TJNY:=v_TJNY+3;
v_TJNJ:=v_TJNF||'Q'||v_TJJD;
end if;
end loop;
commit;
end CSHCYBQ;
分享到:
相关推荐
Oracle 存储过程学习目录是 Oracle 存储过程学习的基础知识,了解 Oracle 存储过程的基本语法、基础知识和一些常见问题的解决方法是非常重要的。本文将从 Oracle 存储过程的基础知识开始,逐步深入到 Oracle 存储...
这组学习资料涵盖了存储过程的基础操作和进阶知识,对于想要深入理解Oracle数据库管理和开发的人员来说非常有价值。 1. **存储过程的定义与类型** - 存储过程可以分为三种类型:简单存储过程(仅包含SQL语句)、带...
### Oracle存储过程学习经典 #### Oracle存储过程基础知识与实践 Oracle存储过程是SQL与PL/SQL结合的强大功能,用于封装复杂的数据操作逻辑于数据库内部,从而实现高效的事务处理和数据管理。以下是对Oracle存储...
### Oracle存储过程学习经典知识点详解 #### 一、Oracle存储过程概述 - **定义**: 存储过程是在数据库中预编译并存储的一段SQL或PL/SQL代码块,它可以包含复杂的逻辑处理,用于实现特定的功能。存储过程提高了代码...
本文实例讲述了Python使用cx_Oracle调用Oracle存储过程的方法。分享给大家供大家参考,具体如下: 这里主要测试在Python中通过cx_Oracle调用PL/SQL。 首先,在数据库端创建简单的存储过程。 create or replace ...
在Oracle数据库中,存储过程(Procedure)是核心的编程组件,它允许开发人员编写和存储可重复使用的SQL和PL/SQL代码块。这篇教程将深入探讨Oracle存储过程的概念、创建、调用以及其在数据库管理中的应用。 一、存储...
在学习过程中,你可能会接触到Oracle SQL Developer、SQL*Plus等工具,它们提供友好的界面或命令行接口,帮助你创建、测试和管理存储过程。同时,了解PL/SQL编程语言的基本语法和构造也是十分必要的。通过深入实践,...
### Delphi调用Oracle的存储过程 在软件开发过程中,Delphi作为一种强大的开发工具,能够高效地与多种数据库系统进行交互。本篇文章将详细介绍如何在Delphi中调用Oracle数据库中的存储过程,并通过一个具体的例子来...
### ORACLE存储过程学习知识点详解 #### 一、存储过程概述 存储过程是数据库中预编译好的一组SQL语句,它可以实现复杂的数据处理逻辑,提高应用开发效率,并且能够增强应用程序的安全性。Oracle存储过程使用PL/SQL...
这个"Oracle存储过程学习经典(实例)"资源显然是为初学者设计的,旨在帮助他们掌握如何创建、执行和管理存储过程。 存储过程在数据库管理中扮演着关键角色,它可以提升系统的性能,通过减少网络流量和提供预编译的...
在提供的“oracle存储过程教程@www.java1234.com.pdf”文件中,你可能会深入学习到这些概念和实践技巧,包括但不限于存储过程的创建、调用、参数类型、游标、异常处理、事务管理以及与Java的集成。通过阅读和实践,...
### Oracle存储过程学习文档知识点详解 #### 一、Oracle存储过程概述 **1.1 存储过程定义:** Oracle存储过程是一种存储在数据库中的PL/SQL代码块,它可以接收输入参数并返回输出参数。存储过程能够执行复杂的业务...
### Oracle存储过程、函数和包的关键知识点 #### 1. 存储过程和函数的认识 - **定义**:存储过程和函数是特定类型的PL/SQL块,它们被存储在数据库中,作为命名的对象存在。 - **命名存储**:与普通的PL/SQL块不同,...
`oracle procedure.chm`是一个帮助文件,通常包含详细的参考信息、示例和教程,供用户学习和查询Oracle存储过程的用法。CHM(Compiled HTML Help)格式是一种微软提供的离线帮助文档格式,用户可以通过搜索和导航来...
在.NET开发中,C#与Oracle数据库的交互是常见的任务,特别是当需要处理大量数据时,存储过程可以提供更高的性能和灵活性。本文将详细讲解如何在C#中使用自定义列表(List)作为参数调用Oracle存储过程,以及实现这一...
Delphi 中调用 Oracle 的存储过程返回数据集是指在 Delphi 应用程序中调用 Oracle 数据库中的存储过程,并将存储过程的返回结果集显示在 Delphi 应用程序中。这种方式可以将 Oracle 数据库中的数据实时同步到 Delphi...
### Oracle 存储过程与函数详解 #### 6.1 引言 Oracle数据库中的存储过程和函数是PL/SQL编程的重要组成部分。它们是数据库中存储的命名块,可以通过调用其名称来执行预定义的任务。这些命名块有助于实现业务逻辑、...
### Oracle存储过程返回结果集详解 #### 一、概述 在Oracle数据库中,存储过程是一种重要的编程组件,它能够执行一系列SQL语句并处理复杂的业务逻辑。存储过程的一个常见应用场景是返回结果集(Record Set),这有...
在Oracle数据库管理系统中,存储过程是一种预编译的SQL和PL/SQL代码集合,用于执行特定的任务。存储过程可以提高数据库应用的性能、安全性和可维护性。在本篇文章中,我们将详细介绍如何在Oracle中查看存储过程。 1...