create or replace procedure proc_xm_zjdw(
xzqhid in varchar2, --行政区划id
queryYear in varchar2, --查询年份
resultzj out FPJC_TYPE.MY_CURSOR --输出的明细结果表
) is
xzqh_length INTEGER := length(xzqhid);
begin
--资金到位监察
open resultzj for
select
xzqhttt.xzqh_code as xzqh_id, --行政区划id
xzqhttt.xzqh_name as xzqh_name, --行政区划名称
nvl(jjsqtj.xms,0) as xms, --项目数量
nvl(zjfpfa.xbtotal,0) as xbtotal --下拨资金
from t_fp_yw_xzqh xzqhttt
left join
(
select xzqh.xzqh_id as id,count(par.xmsb_id) as xms
from t_fp_yw_xzqh xzqh
join(
select sb.xmsb_id,p.parentids from t_fp_yw_xzqh q
join t_fp_yw_xmsb sb on sb.xzqh_id=q.xzqh_id
join t_sys_xzqh_parents p on p.xzqh=q.xzqh_code
where to_char(sb.sb_time,'yyyy')=queryYear
) par on instr(par.parentids,xzqh.xzqh_code)>0
group by xzqh.xzqh_code,xzqh.xzqh_id
)jjsqtj on jjsqtj.id=xzqhttt.xzqh_id
left join(
select fa.xzqh_id1 as id,sum(fa.xb_total) as xbtotal
from t_fp_zj_fpfa fa where fa.fp_year=queryYear
group by fa.xzqh_id1
)zjfpfa
on zjfpfa.id=xzqhttt.xzqh_id
where xzqhttt.xzqh_code=xzqhid
or xzqhttt.first_id=xzqhid
order by xzqhttt.xzjb_id,xzqhttt.xzqh_number ;
end proc_xm_zjdw;
分享到:
相关推荐
存储过程可以被修改(使用`ALTER PROCEDURE`)或删除(使用`DROP PROCEDURE`),并且在创建时可以定义自定义的返回码和错误信息。 触发器是一种特殊的存储过程,当特定的数据库操作(如INSERT、UPDATE或DELETE)...
1. 定义一个程序包来创建自定义游标类型。 2. 创建一个函数,通过游标返回查询结果。 3. 创建一个过程,接收一个游标参数并填充结果集。 4. 使用Java的JDBC API调用这些存储过程,处理返回的游标结果。 这种技术在...
在Oracle数据库中,游标(Cursor)是一种非常重要的概念,特别是在编写存储过程和函数时。游标允许我们处理单行或多行数据集,一次处理一行,这样可以进行精细化的数据操作。在本篇讨论中,我们将深入理解Oracle游标...
接着,创建一个返回自定义游标的存储过程: ```sql CREATE OR REPLACE PROCEDURE p_temp_procedure ( cur_out_arg OUT pkg_package.type_cursor ) AS BEGIN OPEN cur_out_arg FOR SELECT * FROM test; END; ``` ...
总之,存储过程、游标和自定义函数是数据库编程的重要工具,尤其在处理大量数据和复杂业务逻辑时,它们的价值更为显著。本教程通过实例和调试经验,旨在让你能够熟练地运用带游标参数的存储过程,提升数据库管理技能...
本主题将深入探讨Oracle中的几个核心概念:函数、存储过程、游标以及简单的实例,这些都是数据库管理员和开发人员日常工作中不可或缺的部分。 首先,我们来了解**Oracle函数**。函数是预定义的代码块,接受零个或多...
其次,存储过程是预编译的SQL语句集合,它可以封装一系列复杂的数据库操作并返回结果。在Oracle中,存储过程可以接受参数,执行事务控制,甚至包含自定义错误处理。存储过程的优点在于提高执行效率,减少网络通信,...
### 自定义函数、存储过程和触发器 #### 9.1 自定义函数 自定义函数是在SQL Server中由用户自行创建的一种子程序,用于补充和扩展系统提供的内置函数功能。自定义函数的主要目的是提高代码的复用性以及解决特定...
在Oracle中,你可以创建自定义的存储过程来执行复杂的数据操作,如业务逻辑处理、数据验证等。存储过程的优点包括提高性能(因为SQL语句只编译一次)、减少网络流量(客户端只需发送调用请求)和增强安全性(可以...
### Ibatis调用Oracle存储过程返回自定义类型 在企业级应用开发中,尤其是在金融、保险等业务场景中,往往需要处理复杂的数据结构与逻辑。本文将深入探讨如何使用Ibatis框架来调用Oracle数据库中的存储过程,并实现...
执行完成后,我们关闭游标,并通过一个新的SELECT语句获取存储过程设置的OUT参数值。最后,我们可以打印出这些值,从而得到客户订单的状态统计。 通过这种方式,我们可以利用MySQL存储过程的强大功能来处理复杂的...
Oracle数据库是世界上最流行的数据库管理系统之一,它提供了丰富的编程特性,如存储过程、游标和函数,使得数据库管理和数据处理更为高效。在这个主题中,我们将深入探讨这三个关键概念及其在实际应用中的作用。 **...
你可以学习如何创建自定义函数,以及如何在SQL查询和存储过程中使用这些函数,这在`1-oracle教程之存储过程-函数-触发器.ppt`中会有详细介绍。 触发器是数据库响应特定事件(如INSERT、UPDATE或DELETE)时自动执行...
存储过程是一组预先编译的SQL语句,它可以接受参数,执行特定任务并返回结果。游标则是一种在数据库查询结果集中逐行处理数据的机制。 ### 1. 存储过程的构造 存储过程的创建通常包含以下部分: - **创建语句**:...
在SQL编程中,存储过程是预编译的SQL语句集合,用于执行特定任务,而游标则是一种机制,允许程序逐行处理查询结果。在达梦数据库系统中,存储过程支持游标、循环(如FOR循环)以及IF判断语句,这极大地增强了其在...
本文将深入探讨如何在Spring Boot项目中整合MyBatis,实现调用Oracle存储过程并处理游标返回的数据。 首先,我们需要在Spring Boot项目中引入相关的依赖。在`pom.xml`文件中添加Oracle JDBC驱动(ojdbc66-oracle...
1. **创建存储过程**:在数据库中,创建一个存储过程,返回一个游标。这个存储过程应该接受分页参数,如当前页和每页记录数。 2. **定义`ResultSetExtractor`**:创建一个实现了`ResultSetExtractor`的类,比如`...
存储过程是一种特殊的数据库对象,能够接受输入参数、执行复杂的业务逻辑、返回结果集等。 存储过程的基本概念: * Routine: Routine 是指存储在服务器端、按应用程序逻辑编写的可以被 client 或者其他 routine ...
注意,处理返回的Cursor时,必须确保存储过程已经正确地打开并返回了游标,否则在Java端无法正常获取数据。此外,为了防止资源泄漏,记得在使用完`ResultSet`和`CallableStatement`后关闭它们。 总结来说,这个示例...