Frage

Wenn ich eine Funktion habe, die ein Referenz-Cursor für eine Abfrage gibt, wie kann ich sehen, die Ergebnismenge dieses in SQL Developer? Toad hat eine spezielle Registerkarte für die Ergebnisse eines Referenz-Cursor sehen, ist dies die Funktionalität, die ich möchte finden.

War es hilfreich?

Lösung

Double mit den Cursor-Felder in der Ergebnisdatensatz klicken. Auf der rechten Seite gibt es ein „...“ -Symbol. Klicken Sie auf diese und Sie werden die Inhalte sehen

Andere Tipps

SET SERVEROUTPUT ON;
VARIABLE X REFCURSOR;
EXEC PROCEDURE_WITH_OUTPUT_SYS_REFCURSOR(:X);
PRINT X;

Hallo Ich weiß, das vor einiger Zeit gefragt wurde, aber ich habe das gerade herausgefunden und es könnte jemand anderes helfen. Nicht sicher, ob dies ist genau das, was Sie suchen, aber das ist, wie ich eine gespeicherte Prozedur aufrufen und die Ausgabe in SQL Developer anzuzeigen.
In SQL Developer, wenn das proc sehen, kopieren und einfügen ‚Ausführen‘ oder wählen Sie Strg + F11, um das Ausführen von PL / SQL-Fenster zu öffnen. Dies schafft eine Vorlage mit den Eingangs- und Ausgangs params, die Sie ändern müssen. Um die Ergebnisse einer sys_refcursor zurückgeben müssen Sie dann einen Zeilentyp deklarieren, ist genau entspricht der Auswahl Anw / sys_refcursor durch den proc zurückgegeben werden. Im Folgenden erkläre ich, „Typ t_row“, die meine Ausgabefelder übereinstimmt, dann Schleife durch die zurück sys_refcursor. Wenn t_row meine sys_refcursor paßt dann wird es mit jeder Zeile der sys_refcursor bevölkert:

DECLARE
  P_CAE_SEC_ID_N NUMBER;
  P_FM_SEC_CODE_C VARCHAR2(200);
  P_PAGE_INDEX NUMBER;
  P_PAGE_SIZE NUMBER;
  v_Return sys_refcursor;
  type t_row is record (CAE_SEC_ID NUMBER,FM_SEC_CODE VARCHAR2(7),rownum number, v_total_count number);
  v_rec t_row;

BEGIN
  P_CAE_SEC_ID_N := NULL;
  P_FM_SEC_CODE_C := NULL;
  P_PAGE_INDEX := 0;
  P_PAGE_SIZE := 25;

  CAE_FOF_SECURITY_PKG.GET_LIST_FOF_SECURITY(
    P_CAE_SEC_ID_N => P_CAE_SEC_ID_N,
    P_FM_SEC_CODE_C => P_FM_SEC_CODE_C,
    P_PAGE_INDEX => P_PAGE_INDEX,
    P_PAGE_SIZE => P_PAGE_SIZE,
    P_FOF_SEC_REFCUR => v_Return
  );
  -- Modify the code to output the variable
  -- DBMS_OUTPUT.PUT_LINE('P_FOF_SEC_REFCUR = ');
  loop
    fetch v_Return into v_rec;
    exit when v_Return%notfound;
    DBMS_OUTPUT.PUT_LINE('sec_id = ' || v_rec.CAE_SEC_ID || 'sec code = ' ||v_rec.FM_SEC_CODE);
  end loop;

END;

Es gibt keine Möglichkeit, eine refcursor in Datagrid in sqldeveloper anzuzeigen. wir können eine refcursor definieren, rufen SP, dann drucken refcursor, dann werden die Daten in einer Ebene Textmodus in Skriptausgabefenster gedruckt werden, aber nicht in Query Result-Fenster.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top