PL/SQL - execute immediate in Pipelining-Funktion

Möchte ich ausführen dynamische Abfrage in meinem Pipelining-Funktion und die Rückgabe der Ergebnisse dieser Abfrage.
Ist es möglich, dies zu tun?
Pipelining Funktion ist bequem für mich zu erreichen, gutes interface für meine Anwendung zu verursachen, es verhält sich wie eine Tabelle.

Funktion:

CREATE OR REPLACE FUNCTION MyFunction(p_schema VARCHAR2) RETURN MyTableType Pipelined IS
v_query VARCHAR2(1000);
BEGIN
  v_query := 'SELECT * FROM TABLE ('||p_schema||'.somepackage.SomeFunction)'; --SomeFunction is another pipelined function
  EXECUTE IMMEDIATE v_query;
  --Results of the v_query are compatible with MyTableType's row type. But how to return them from pipelined function?
END;

InformationsquelleAutor dzb | 2012-09-25

Schreibe einen Kommentar