存储过程数据集输出参数类型为非游标
2016-11-30 14:32
281 查看
需求背景
润乾报表可以使用存储过程作为数据集,一般情况下的输出参数类型均为“游标”类型,当然作为结果集返回一定要使用游标类型,否则是没有意义的。但有的时候我们可能希望输出唯一的其他类型的值,今天我们就来介绍输出非游标类型参数的用法。
本文使用的数据库为oracle10g。
实现步骤
首先,我们看一下存储过程的sql语句,以及表数据:
CREATE OR REPLACE PACKAGE TYPES AS
TYPE RQ_REF_CURSOR IS REF CURSOR;
-- proceduregetData( V_TEMP OUTTYPES.RQ_REF_CURSOR);
END;
CREATE OR REPLACE PROCEDURE RQ_TEST_CUR
(
V_TEMP OUT TYPES.RQ_REF_CURSOR, --游标类型输出参数
var_out out varchar, --字符串类型输出参数
PID IN VARCHAR --输入参数
)
AS
BEGIN
OPEN V_TEMP FOR SELECT NAME FROM TEST WHERE ID = PID; --结果集
var_out := 22; --唯一值
END RQ_TEST_CUR;
-- Create table
create table TEST
(
ID VARCHAR2(10) not null,
NAME VARCHAR2(10)
)
数据:
![](http://bbs.raqsoft.com.cn/data/attachment/portal/201611/30/143031rdb09undcunvn2u9.jpg)
数据集设置:
![](http://bbs.raqsoft.com.cn/data/attachment/portal/201611/30/143032u5u0e8s4ezynw5ul.jpg)
最后我们来看一下展现结果:
![](http://bbs.raqsoft.com.cn/data/attachment/portal/201611/30/143032smj62pb1m6mh0jjm.jpg)
总结
当输出参数为非游标类型时,将其输出值保存到报表参数中,引用时可以通过引用该参数即可。
润乾报表可以使用存储过程作为数据集,一般情况下的输出参数类型均为“游标”类型,当然作为结果集返回一定要使用游标类型,否则是没有意义的。但有的时候我们可能希望输出唯一的其他类型的值,今天我们就来介绍输出非游标类型参数的用法。
本文使用的数据库为oracle10g。
实现步骤
首先,我们看一下存储过程的sql语句,以及表数据:
CREATE OR REPLACE PACKAGE TYPES AS
TYPE RQ_REF_CURSOR IS REF CURSOR;
-- proceduregetData( V_TEMP OUTTYPES.RQ_REF_CURSOR);
END;
CREATE OR REPLACE PROCEDURE RQ_TEST_CUR
(
V_TEMP OUT TYPES.RQ_REF_CURSOR, --游标类型输出参数
var_out out varchar, --字符串类型输出参数
PID IN VARCHAR --输入参数
)
AS
BEGIN
OPEN V_TEMP FOR SELECT NAME FROM TEST WHERE ID = PID; --结果集
var_out := 22; --唯一值
END RQ_TEST_CUR;
-- Create table
create table TEST
(
ID VARCHAR2(10) not null,
NAME VARCHAR2(10)
)
数据:
![](http://bbs.raqsoft.com.cn/data/attachment/portal/201611/30/143031rdb09undcunvn2u9.jpg)
数据集设置:
![](http://bbs.raqsoft.com.cn/data/attachment/portal/201611/30/143032u5u0e8s4ezynw5ul.jpg)
最后我们来看一下展现结果:
![](http://bbs.raqsoft.com.cn/data/attachment/portal/201611/30/143032smj62pb1m6mh0jjm.jpg)
总结
当输出参数为非游标类型时,将其输出值保存到报表参数中,引用时可以通过引用该参数即可。
相关文章推荐
- Java调用Oracle集合类型输出参数的存储过程
- 示例12 存储过程和参数为输出类型游标
- Java调用Oracle集合类型输出参数的存储过程
- 使用强类型DataSet创建高效的数据访问层:存储过程输出参数的使用
- 创建一个输出参数为xml类型的存储过程(示例)
- 存储过程中使用Text类型的输出参数(转)
- Java调用Oracle集合类型输出参数的存储过程
- 再谈ReportingService报表中数据源类型为存储过程的数据集如何使用多值参数
- ASP调用存储过程:有输入参数和输出参数的存储过程
- 如何得到SQL存储过程的参数及其类型
- 带输出参数的存储过程的使用及在C#中调用问题
- 解决sybase存储过程中不能取得动态sql输出参数的问题
- 数据库操作_连接SQL Server数据库示例;连接ACCESS数据库;连接到 Oracle 数据库示例;SqlCommand 执行SQL命令示例;SqlDataReader 读取数据示例;使用DataAdapter填充数据到DataSet;使用DataTable存储数据库表;将数据库数据填充到 XML 文件;10 使用带输入参数的存储过程;11 使用带输入、输出参数的存储过程示;12 获得数据库中表的数目和名称;13 保存图片到SQL Server数据库示例;14 获得插入记录标识号;Exce
- 关于存储过程的ADO调用的一些心得(输出参数,返回值)
- 使用ADO.NET对象调用存储过程的输入和输出参数
- 期待.net 支持数据库存储过程列类型参数 %rowtype
- 同时具有返回值、输入参数、输出参数的存储过程
- asp+sql的存储过程出错"800a0bb9 参数类型不正确,或不在可以接受的范围之内,或与其他参数冲突。"
- 带输出参数的存储过程的使用及在C#中调用问题
- 取的存储过程的返回值和输出参数(asp.net 和vb)