【发布时间】:2014-05-06 15:04:04
【问题描述】:
我有一个关于 Oracle SQL 4.0.0 版本的问题......它是关于应该返回小数据集的函数
所以程序有 3 个传入参数和数据集作为输出......这是我到目前为止所拥有的
CREATE OR REPLACE FUNCTION "PARTS"(a IN VARCHAR,
b IN VARCHAR2,
c IN VARCHAR2)
RETURN SYS_REFCURSOR
AS
final SYS_REFCURSOR;
par VARCHAR(32);
description VARCHAR(32);
inputvars VARCHAR(1024);
a1 VARCHAR(32);
BEGIN
IF a IS NULL THEN
a1 := 'NOT_REQD';
ELSE
a1 := a;
END IF;
OPEN final FOR
SELECT substr(number1, 3)
INTO par
, description1
FROM class_event_element
WHERE substr(a, 4) = a1
AND name = b
AND vart = c;
RETURN final;
EXCEPTION
WHEN no_data_found THEN RETURN ('NONE');
WHEN OTHERS THEN RETURN ('ERROR');
END;
所以对这个函数的解释是我想多次调用它,这就是为什么我把它放在第一位的原因。 所以我在表中的数据可以,但它不必有 ,这就是我有 IF 的原因。
然后我只有简单的 Select 语句,我需要 substr 函数来表示数字。
我的主要问题是,在谷歌搜索了半天之后......我无法弄清楚如何返回我的 SYS_REFCURSOR Final。 对此有什么建议,或者至少知道要进行哪些更改才能使其正常工作,以便我的函数可以返回我需要的结果集?
【问题讨论】:
标签: sql oracle function sys-refcursor