Warum schwacher PL/SQL-Ref-Cursor
Im vorherigen Tutorial haben wir gelernt, wie man Daten verschiedener Datentypen aus verschiedenen Spalten mit dem Strong-Ref-Cursor abruft. Die Strong-Ref-Cursor haben die Einschränkung, dass sie einen festen Rückgabetyp haben, der nur ein Datensatzdatentyp sein kann. Allerdings macht ein fester Rückgabetyp einen starken Ref-Cursor weniger fehleranfällig in der Anwendungsentwicklung. Dies erfordert jedoch definitiv einen zusätzlichen Schritt zum Erstellen eines benutzerdefinierten Datensatzdatentyps.
Haben wir also keine alternative Möglichkeit, Daten unterschiedlicher Datentypen mit dem Ref-Cursor abzurufen, für die kein benutzerdefinierter Datensatzdatentyp erstellt werden muss? Können wir nicht einen Ref-Cursor erstellen, der keinen festen Rückgabetyp hat? Lassen Sie uns die Antworten auf diese Fragen in diesem Blog herausfinden.
Was ist ein schwacher PL/SQL-Ref-Cursor in der Oracle-Datenbank?
Ein Ref-Cursor, der keinen festen Rückgabetyp hat, wird als schwacher Ref-Cursor bezeichnet.
Können wir Weak Ref Cursor mit jeder SELECT-Anweisung verwenden oder nicht?
Ja wir können. Da schwache Ref-Cursor keinen festen Rückgabetyp wie starke Ref-Cursor haben, sind sie offen für alle Arten von SELECT-Anweisungen. Dies macht sie im Vergleich zu anderen auch zu den am häufigsten verwendeten Ref-Cursorn.
Ich denke, jetzt haben Sie die Antworten auf die obigen Fragen. PL/SQL Weak Ref Cursor ist die alternative Möglichkeit, Daten verschiedener Datentypen abzurufen. Da der schwache Ref-Cursor keinen festen Rückgabetyp hat, muss kein separater Datensatz-Datentyp erstellt werden. Nachdem wir alle unsere Zweifel ausgeräumt haben, ist es an der Zeit, sich ein Beispiel anzusehen, das Ihnen dabei helfen wird, zu lernen, wie man PL/SQL-Cursor mit schwachen Verweisen in Oracle Database erstellt.
Syntax des schwachen Ref-Cursors
TYPE ref_cursor_name IS REF CURSOR;
Beispiel:So erstellen Sie einen schwachen Ref-Cursor in der Oracle-Datenbank
SET SERVEROUTPUT ON; DECLARE /*Declare Weak Ref Cursor*/ TYPE wk_RefCur IS REF CURSOR; /*Declare Cursor Variable of ref cursor type*/ cur_var wk_RefCur; /*Declare two "Anchored Datatype Variable" for holding data from the cursor*/ f_name employees.first_name%TYPE; emp_sal employees.salary%TYPE; BEGIN OPEN cur_var FOR SELECT first_name, Salary FROM employees WHERE employee_id = 100; FETCH cur_var INTO f_name, emp_sal; CLOSE cur_var; DBMS_OUTPUT.PUT_LINE (f_name ||' '||emp_sal); END; /
Fahren Sie fort und versuchen Sie, dieses Programm auszuführen, um zu sehen, wie die Ausgabe aussehen wird. Wenn Sie möchten, können Sie dieses Skript auch aus dem GIT-Repository herunterladen. Hier sind die Links [Script / Git Repository ]
Wenn Sie durch das Ansehen von Videos besser lernen, finden Sie hier das Video-Tutorial zum schwachen Ref-Cursor in PL/SQL.
Das ist das Tutorial zum Erstellen eines schwachen PL/SQL-Referenzcursors in Oracle Database. Also unbedingt den YouTube-Kanal abonnieren. Im kommenden Tutorial werden wir lernen, was Sys Ref Cursor in Oracle Database ist. Vielen Dank und einen schönen Tag!