我有一个关于 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。对此是否有任何建议,或者至少知道要更改哪些内容才能使其正常工作,以便我的函数可以返回我需要的结果集?