Ich habe ein PL / SQL-Paket in der Oracle-Datenbank, das eine Pipeline-Funktion mit dem Namen FN_GET_USERINFO_ROWS wie folgt enthält:
Und ich führe folgendes Testskript aus, um die Pipeline-Funktion FN_GET_USERINFO_ROWS unter PL / zu testen. SQL Developer ( Datei- & gt; Neu- & gt; Testfenster )
Aber es zeigt folgenden Fehler:
ORA-06550: Zeile 28, Spalte 12: PLS-00653: Aggregat- / Tabellenfunktionen sind im PL / SQL-Bereich nicht erlaubt
Wie kann ich eine Pipeline-Funktion debuggen, indem ich PL / SQL Developer ?
Eine Möglichkeit besteht darin, einen Block mit FOR-SELECT-LOOP
zu erstellen und einen Haltepunkt in die Funktion einzufügen oder den Inhalt für jede abgerufene Zeile zu protokollieren (hängt davon ab, was Sie unter Debuggen verstehen). So können Sie jede PIPE ROW
-Ausführung trennen und deren Ergebnisse sehen.
Dann in PL / SQL Dev wählen Sie Datei- & gt; Öffnen- & gt; TestScript und führen Sie die Block von geöffnetem Fenster.
Ich rate Ihnen auch, Varianten zu debuggen, wenn NO_DATA_NEEDED
geworfen wird. Fügen Sie dazu WHERE
clause hinzu, um die Anzahl der Zeilen zu begrenzen.
Tags und Links oracle plsql plsqldeveloper