存储过程数据集输出参数类型为非游标
需求背景
使用存储过程作为数据集,一般情况下的输出参数类型均为”游标”类型,当然作为结果集返回一定 要使用游标类型,否则是没有意义的。但有的时候我们可能希望输出唯一的其他类型的值,今天我们就来介绍输出非游标类型参数的用法。
本文使用的数据库为oracle10g。
实现步骤
首先,我们看一下存储过程的sql语句,以及表数据:
CREATE OR REPLACE PACKAGE TYPES AS
TYPE RQ_REF_CURSOR IS REF CURSOR;
– procedure getData( V_TEMP OUT TYPES.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)
)
数据:
接着我们看一下报表设计:
数据集设置:
最后我们来看一下展现结果:
总结
当输出参数为非游标类型时,将其输出值保存到报表参数中,引用时可以通过引用该参数即可。