Wie deklariert man% ROWTYPE einer Variablen, die einen schwach typisierten SYS_REFCURSOR hat?

W.r.t-Code unten Ich kann den Typ von Fetch-In-Variable nicht als% ROWTYPE der zugrunde liegenden Tabelle deklarieren, da sich SYS_REFCURSOR in einer Auswahl befindet, die zwei Tabellen verbindet, und auch einige Funktionen auswählt, die für die Attribute der zugrunde liegenden zwei Tabellen aufgerufen werden. ich kann nicht als L_RECORD T% ROWTYPE deklarieren

---
DECLARE
  P_RS SYS_REFCURSOR;
  L_RECORD P_RS%ROWTYPE;
BEGIN
  CAPITALEXTRACT(
    P_RS => P_RS
  );
    OPEN P_RS;
    LOOP
      BEGIN
        FETCH P_RS INTO L_RECORD;
        EXIT WHEN P_RS%NOTFOUND;
        ...
      EXCEPTION
        WHEN OTHERS THEN
        ...
      END;
    END LOOP;
    CLOSE P_RS;
END;
--------
CREATE or REPLACE PROCEDURE CAPITALEXTRACT
(
    p_rs OUT SYS_REFCURSOR
) AS
BEGIN
  OPEN p_rs for 
     select t.*,tminusone.*, f(t.cash), g(t.cash) FROM T t, TMINUSONE tminusone
    where t.ticket=tminusone.ticket;
END CAPITALEXTRACT;

Natürlich möchte ich keine statische Tabelle R mit Spalten definieren, die in SYS_REFCURSOR zurückgegeben werden, und dann als L_RECORD R% ROWTYPE deklarieren.

Und daher die Frage: Wie deklariert man% ROWTYPE einer Variablen, die ein schwach typisierter SYS_REFCURSOR ist?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage