Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Jak utworzyć słaby kursor odniesienia PL/SQL w bazie danych Oracle

Dlaczego PL/SQL słaby kursor referencji

W poprzednim samouczku dowiedzieliśmy się, jak pobierać dane o różnych typach danych z różnych kolumn za pomocą silnego kursora ref. Silne kursory ref mają ograniczenie polegające na tym, że mają ustalony typ zwracany, który może być tylko typem danych rekordu. Jednak stały typ zwracany sprawia, że ​​silny kursor referencyjny jest mniej podatny na błędy podczas tworzenia aplikacji. Ale to zdecydowanie wymaga dodatkowego kroku tworzenia typu danych rekordu zdefiniowanego przez użytkownika.

Czy nie mamy więc alternatywnego sposobu pobierania danych o różnych typach danych za pomocą kursora ref, który nie wymaga tworzenia zdefiniowanego przez użytkownika typu danych rekordu? Czy nie możemy stworzyć kursora ref, który nie ma ustalonego typu zwracanego? Znajdźmy odpowiedzi na te pytania na tym blogu.

Co to jest słaby kursor referencji PL/SQL w bazie danych Oracle?

Kursor referencji, który nie ma ustalonego typu zwracanego, nazywany jest kursorem Słaby Ref Cursor.

Czy możemy użyć kursora słabego referencji z dowolnym poleceniem SELECT, czy nie?

Tak możemy. Ponieważ słabe kursory odwołań nie mają stałego typu zwracanego, jak silne kursory odwołań, dlatego są otwarte na wszystkie typy instrukcji SELECT. To sprawia, że ​​są one najczęściej używanymi kursorami referencyjnymi w porównaniu z innymi.

Myślę, że teraz masz odpowiedzi na powyższe pytania. Kursor słabych referencji PL/SQL to alternatywny sposób pobierania danych o różnych typach danych. Ponieważ kursor słabego odwołania nie ma ustalonego typu zwracanego, nie ma potrzeby tworzenia oddzielnego typu danych rekordu. Teraz, gdy rozwialiśmy wszystkie nasze wątpliwości, nadszedł czas, aby zobaczyć przykład, który pomoże Ci nauczyć się tworzyć słabe kursory referencyjne PL/SQL w bazie danych Oracle.

Składnia słabego kursora referencji

TYPE ref_cursor_name IS REF CURSOR;

Przykład:jak utworzyć słaby kursor referencji w bazie danych Oracle

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;
/

Śmiało i spróbuj uruchomić ten program, aby zobaczyć, jakie będą dane wyjściowe. Jeśli chcesz, możesz również pobrać ten skrypt z repozytorium GIT. Oto linki [Repozytorium skryptów / Git]

Jeśli uczysz się lepiej, oglądając filmy, oto samouczek wideo dotyczący słabego kursora odniesienia PL/SQL.

To jest samouczek dotyczący tworzenia słabego kursora odniesienia PL/SQL w bazie danych Oracle. Dlatego koniecznie zasubskrybuj kanał YouTube. W nadchodzącym samouczku dowiemy się, czym jest Sys Ref Cursor w Oracle Database. Dzięki i życzę miłego dnia!


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle Joins — porównanie składni konwencjonalnej VS ANSI Składnia

  2. Jak uzyskać ostatni identyfikator insertu w Oracle za pomocą MyBatis?

  3. Przykład replikacji strumieni Oracle krok po kroku

  4. Jak wygenerować pakiet API tabeli w Oracle SQL Developer?

  5. przekazać tablicę do procedury oracle