Ich versuche, eine Oracle gespeicherte Proc mit SQL Developer aufrufen. Der Prozess gibt Ergebnisse mit einem sys_refcursor aus. Ich klicke mit der rechten Maustaste in das Proc-Fenster, das das Run PL/SQL-Fenster öffnet. Wenn ich den proc wähle, den ich will, erzeugt er alle Eingabeparameter usw. für mich. Unten ist der Code, den ich benutze, um den sys_refcursor zu durchlaufen und die Ergebnisse auszugeben, aber ich erhalte einen Fehler bei 'v_rec v_Return% rowtype;' Zeile:Ausgabeergebnisse von Oracle gespeichert Proc von SQL Developer
ORA-06550: Zeile 6 Spalte 9: PLS-00320: Die Deklaration des Typs dieses Ausdrucks ist unvollständig oder fehlerhaft. ORA-06550: Zeile 6 Spalte 9: PL/SQL: Item ignoriert
Lieferantencode 6550
ich den Looping-Code auf ein paar anderen Websites gefunden und es scheint, die Art und Weise, es zu tun, aber es funktioniert nicht für mich, egal was ich versuche. Eine weitere Frage - auf der DBMS_OUTPUT.PUT_LINE ('Name =' || v_rec.ADM) Ich verweise die v_rec korrekt, d. H. Ist v_rec. "Column_name" die richtige Weise ??
Ich bin nicht so an Oracle gewöhnt und habe noch nie SQL plus verwendet. Irgendwelche Vorschläge geschätzt.
DECLARE
P_CAE_SEC_ID_N NUMBER;
P_PAGE_INDEX NUMBER;
P_PAGE_SIZE NUMBER;
v_Return sys_refcursor;
v_rec v_Return%rowtype;
BEGIN
P_CAE_SEC_ID_N := 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_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('name = ' || v_rec.ADM);
end loop;
END;