Oracle
 sql >> Datenbank >  >> RDS >> Oracle

So erstellen Sie einen schwachen PL/SQL-Ref-Cursor in der Oracle-Datenbank

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!