存储过程数据集输出参数类型为非游标

需求背景

使用存储过程作为数据集,一般情况下的输出参数类型均为”游标”类型,当然作为结果集返回一定 要使用游标类型,否则是没有意义的。但有的时候我们可能希望输出唯一的其他类型的值,今天我们就来介绍输出非游标类型参数的用法。

本文使用的数据库为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)

)

数据:

接着我们看一下报表设计:

数据集设置:

最后我们来看一下展现结果:

总结

当输出参数为非游标类型时,将其输出值保存到报表参数中,引用时可以通过引用该参数即可。

本文标签: