Oracle SQL 4.0.0 のバージョンに関して 1 つ質問があります...小さなデータセットを返す関数に関するものです
したがって、プロシージャには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を返す方法がわからないことです。これに関するアドバイスはありますか、または少なくとも、関数が必要な結果セットを返すことができるように、これを機能させるために何を変更すればよいか考えていますか?