WM_CONCAT mit DISTINCT-Klausel - Kompiliertes Paket im Vergleich zu Problemen mit eigenständigen Abfragen

Ich habe ein Programm geschrieben, das die WM_CONCAT-Funktion verwendet. Wenn ich diese Abfrage ausführe:

SELECT WM_CONCAT(DISTINCT employee_id)
FROM   employee
WHERE  ROWNUM < 20;

Es funktioniert gut. Wenn ich versuche, dieselbe Abfrage in einer Paketfunktion oder -prozedur zu kompilieren, wird der folgende Fehler ausgegeben: PL / SQL: ORA-30482: Die Option DISTINCT ist für diese Funktion nicht zulässig

FUNCTION fetch_raw_data_by_range
RETURN VARCHAR2 IS

    v_some_string VARCHAR2(32000);

BEGIN

    SELECT WM_CONCAT(DISTINCT employee_id)
    INTO   v_some_string
    FROM   employee
    WHERE  ROWNUM < 20;

    RETURN v_some_string;

END;

Ich stelle fest, dass WM_CONCAT nicht offiziell unterstützt wird, aber kann jemand erklären, warum es als eigenständige Abfrage mit DISTINCT funktionieren würde, aber nicht in einem Paket kompiliert werden kann?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage