Oracle存储过程实现返回多个结果集 在构造函数方法中使用 dataset
原文 Oracle存储过程实现返回多个结果集 在构造函数方法中使用 dataset
DataSet相当你用的数据库; DataTable相当于你的表。一个 DataSet 可以包含多个 DataTable。如果用datatable只适合返回一个结果集(游标)的信息。
例:
public DataSet Get_TRAFeeQinfenStatus(int type, string BargainOrderCode, string ParkUserId, string BerthCode){ OracleParameter[] parms = { new OracleParameter("VRETURN_LIST1", OracleType.Cursor),new OracleParameter("VRETURN_LIST2", OracleType.Cursor),new OracleParameter("VRETURN_LIST3", OracleType.Cursor),new OracleParameter("Vtype", OracleType.Number),new OracleParameter("VBargainOrderCode", OracleType.VarChar),new OracleParameter("VParkUserId", OracleType.VarChar),new OracleParameter("VBerthCode", OracleType.VarChar)};parms[0].Direction = ParameterDirection.Output;parms[1].Direction = ParameterDirection.Output;parms[2].Direction = ParameterDirection.Output;parms[3].Value = type;parms[4].Value = BargainOrderCode;parms[5].Value = ParkUserId;parms[6].Value = BerthCode;DataSet ds = OracleHelper.ExecuteDataset(CommandType.StoredProcedure, string.Format("{0}.GET_TRAFEEQINFENSTATUS", CADRE_SZRPP_PK), parms);return ds;}
oracle存储过程实现:
PROCEDURE GET_TRAFEEQINFENSTATUS(VRETURN_LIST1 OUT OUTPUTLIST,--查退费单VRETURN_LIST2 OUT OUTPUTLIST,--查欠费单VRETURN_LIST3 OUT OUTPUTLIST,--缴费记录VTYPE IN INTEGER DEFAULT NULL,VBARGAINORDERCODE IN TRA_ORDERPAYMENTINFO.BARGAINORDERCODE%TYPE DEFAULT NULL, VPARKUSERID IN TRA_ORDERPAYMENTINFO.PARKUSERID%TYPE DEFAULT NULL,VBERTHCODE IN TRA_ORDERPAYMENTINFO.BERTHCODE%TYPE DEFAULT NULL)ISVTYPENUMBER INTEGER;VPAYSTATUS NVARCHAR2(4000);VARREARSSTATUS NVARCHAR2(4000);VREFUNDSTATUS NVARCHAR2(4000);BEGINSELECT VTYPE INTO VTYPENUMBER FROM DUAL;IF (VTYPENUMBER=2)THEN OPEN VRETURN_LIST1 FOR SELECT REFUNDSTATUS,PAYSTATUS FROM TRA_REFUNDORDER WHERE BARGAINORDERCODE=VBARGAINORDERCODEAND PARKUSERID=VPARKUSERID AND BERTHCODE=VBERTHCODE;--解决: ORA-24338: 未执行语句句柄 一定要进行对游标输出参数值赋值ELSE OPEN VRETURN_LIST1 FOR SELECT VREFUNDSTATUS AS REFUNDSTATUS,VPAYSTATUS AS PAYSTATUS FROM DUAL;END IF;IF (VTYPENUMBER=3 )THENOPEN VRETURN_LIST2 FORSELECT ARREARSSTATUS FROM TRA_ARREARSORDER WHERE BARGAINORDERCODE=VBARGAINORDERCODEAND PARKUSERID=VPARKUSERID AND BERTHCODE=VBERTHCODE;ELSE OPEN VRETURN_LIST2 FOR SELECT VARREARSSTATUS AS ARREARSSTATUS FROM DUAL;END IF;IF (VTYPENUMBER=5 )THENOPEN VRETURN_LIST3 FOR SELECT PAYSTATUS FROM TRA_ORDERPAYMENTINFO WHERE BARGAINORDERCODE=VBARGAINORDERCODEAND PARKUSERID=VPARKUSERID AND BERTHCODE=VBERTHCODE; ELSE OPEN VRETURN_LIST3 FOR SELECT VPAYSTATUS AS PAYSTATUS FROM DUAL;END IF;END;
转载于:https://www.cnblogs.com/arxive/p/5959478.html
Oracle存储过程实现返回多个结果集 在构造函数方法中使用 dataset相关推荐
- oracle java存储过程返回值_java程序调用Oracle 存储过程 获取返回值(无返回,非结果集,结果集)...
java程序调用Oracle 存储过程 获取返回值(无返回,非结 果集,结果集) oracle中procedure是不能有返回值的,要想返回值,就得有 输出参数,同样要想返回记录集,可以把游标类型作为 ...
- java程序调用Oracle 存储过程 获取返回值(无返回,非结果集,结果集)
oracle中procedure是不能有返回值的,要想返回值,就得有输出参数,同样要想返回记录集,可以把游标类型作为输出参数. 下面是详细情况说明: 一:无返回值的存储过程调用 存储过程: creat ...
- oracle存储过程没有返回值,Java调用Oracle存储过程(无返回值)
无返回值: 1:创建存储过程 此存储过程向表中插入一条数据 create or replace procedure demo_procedure(id varchar2,name varchar2,a ...
- jpa调用mysql函数_Spring data jpa 调用存储过程处理返回参数及结果集(示例代码)
一.环境 1.此随笔内容基于spring boot整合的spring data jpa项目, 2.数据库为mysql 5.7.9版本 二.内容 1. 新建存储过程 pro_query_object B ...
- JDBC Mybatis 调用 ORACLE 存储过程 函数 返回 varray 类型 function return varray out varray
ORACLE中使用VARRAY解决字符串数组问题 博客分类: ORACLE/MYSQL总结 OracleSQLJDBCCC++ 如何从 PL/SQL 存储函数中返回数组类型 思路:在 Oracle 数 ...
- Java(CallableStatement)调用Oracle存储过程返回结果集(ResultSet)
一:无返回值的存储过程调用 存储过程: CREATE OR REPLACE PROCEDURE PRO_1(PARA1 IN VARCHAR2,PARA2 IN VARCHAR2) AS BEGIN ...
- Oracle存储过程学习
Oracle存储过程学习 目录 Oracle 存储过程... 1 Oracle存储过程基础知识... 1 Oracle存储过程的基本语法... 2 关于Oracle存储过程的若干问题备忘... 4 1 ...
- oracle存储过程学习经典[语法+实例+调用]
Oracle存储过程基础知识 商业规则和业务逻辑可以通过程序存储在Oracle中,这个程序就是存储过程. 存储过程是SQL, PL/SQL, Java 语句的组合,它使你能将执行商业规则的代码从你的应 ...
- Oracle 存储过程,Hibernate 调用存储过程,JDBC调用存储过程,Oracle 动态SQL
Oracle 存储过程学习 目录 Oracle 存储过程........................................................................ ...
最新文章
- linux驱动:音频驱动(四)ASoc之machine设备
- 零基础如何掌握web前端开发技能
- 华为认证网络互连专家-HCIE-RS模拟试卷
- 编java用jdk还是editplus_怎样运用EditPlus进行配置Java编译环境
- Bete冲刺第五阶段
- npm修改淘宝镜像飞速下载,npm install过程速度优化,npm删除镜像恢复默认
- BugKuCTF 杂项 啊哒
- 关于UAC执行级别的研究
- Py修行路 python基础 (二十)模块 time模块,random模块,hashlib模块,OS及sys模块...
- 软件工程——个人课程总结
- arp 不同网段 相同vlan_同vlan不同网段能否ping通?
- 深度学习之卷积神经网络CNN
- windows--bat--设置变量的方法
- Miktex + WinEdit 实现LaTeX写论文
- Eclipse常用开发插件(转)
- 在线音乐播放器 --- 图片上传
- 【180629】VC++ QQ头像连连看游戏源码
- 31.Silverlight中WebClient+StreamResourceInfo+反射实现动态加载外部XAP程序
- 代码实证:风险平价及其改进思路——主成分风险平价
- 关于职场,你需要不断拼搏
热门文章
- a=10a=0C语言,C语言基础练习题(含答案)
- for循环优化_前端js if判断以及for循环该如何写的更好,优化upup
- EDAS 4.0 助力企业一站式实现微服务架构转型与 K8s 容器化升级
- Morphling:云原生部署 AI ,如何把降本做到极致?
- html css盒子顶层,HTML学习之四CSS盒子
- java sqlldr导入_使用SQL*LOADER将TXT或CSV数据导入ORACLE(转)
- 黑php的称呼,称呼
- python写元旦快乐_用Python在00:00给微信好友发元旦祝福语
- php网站入门鹿泉银山,01PHP编程新手入门第一步
- python 列表生成式_深度好文:Python之列表生成式、生成器、可迭代对象与迭代器(一)...