Oracle存储过程返回select * from table结果
2016-01-28 00:00
519 查看
1.首先建立一个包
2.建立包中的主体
3.在程序中调用存储过程的值
4.有几个out的ref cursor,变量ds中就用几个DataTable。并且输入参数 indecimal也不会受影响,并且可以参加存储过程的运算
create or replace package LogOperation is type listLog is ref cursor; procedure PCenterExamine_sel(listCenterExamine out listlog,testlist out listLog,numpage in decimal); end;
2.建立包中的主体
create or replace package body LogOperation is procedure PCenterExamine_sel ( listCenterExamine out listlog, testlist out listlog, numpage in decimal ) as begin open listCenterExamine for select * from Log_CenterExamine; open testlist for select * from Log_CenterExamine; end; end;
3.在程序中调用存储过程的值
public static DataSet RunProcedureGetDataSet(string storedProcName, OracleParameter[] parameters) { string connectionString ="192.168.1.1/db"; using (OracleConnection connection = new OracleConnection(connectionString)) { DataSet dataSet = new DataSet(); connection.Open(); OracleDataAdapter sqlDA = new OracleDataAdapter(); sqlDA.SelectCommand = BuildQueryCommand(connection, storedProcName, parameters); sqlDA.Fill(dataSet, "dt"); connection.Close(); return dataSet; } }
private static OracleCommand BuildQueryCommand(OracleConnection connection, string storedProcName, IDataParameter[] parameters) { OracleCommand command = new OracleCommand(storedProcName, connection); command.CommandType = CommandType.StoredProcedure; foreach (OracleParameter parameter in parameters) { command.Parameters.Add(parameter); } return command; }
4.有几个out的ref cursor,变量ds中就用几个DataTable。并且输入参数 indecimal也不会受影响,并且可以参加存储过程的运算
OracleParameter[] paramDic = { new OracleParameter("listCenterExamine",OracleType.Cursor), new OracleParameter("testlist",OracleType.Cursor), new OracleParameter("numpage",OracleType.Int32)}; paramDic[0].Direction = ParameterDirection.Output; paramDic[1].Direction = ParameterDirection.Output; paramDic[2].Value = 1; ds = Model.OracleHelper.RunProcedureGetDataSet("LogOperation.PCenterExamine_sel", paramDic);
相关文章推荐
- Oracle回收站 使用
- Oracle Metadata Management (OMM)元数据管理 12.2.1发布
- 8.Oracle深度学习笔记——BUFFER CACHE深入一
- 7.Oracle深度学习笔记——内存架构之SGA IM Column Store
- oracle数据库常用函数
- oracle with as介绍
- ORA-12537: TNS:connection closed
- oracle数据库错误1067
- 修改Oracle字符集
- Oracle客户端(32bit)配置
- oracle中动态SQL使用详细介绍
- oracle中动态SQL使用详细介绍
- oracle的cardinality feedback
- ORACLE隐式类型转换
- ORACLE表空间和表碎片分析及整理方法
- Oracle内存结构
- 如何将Oracle数据库中的数据导入到hbase中 使用 Sqoop工具
- ORACLE中对版本和补丁的说明
- oracle undo 复杂度--oracle核心技术读书笔记四
- ORACLE PILE 与 SPFILE