Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Cách tạo gói PL / SQL trong cơ sở dữ liệu Oracle

Trong hướng dẫn trước, chúng tôi đã trình bày tất cả các lý thuyết cần thiết về gói PL / SQL trong Cơ sở dữ liệu Oracle. Ở đó, chúng tôi đã tìm hiểu các gói là gì, kiến ​​trúc của chúng và cú pháp tạo các gói giống nhau. Bây giờ chúng ta đã thấy tất cả các lý thuyết cần thiết để trả lời các câu hỏi trong kỳ thi và phỏng vấn chứng chỉ của bạn, đã đến lúc đi trước một bước và làm một ví dụ minh họa quy trình tạo gói PL / SQL trong Cơ sở dữ liệu Oracle.

Cách tạo gói?

Đối với phần trình diễn, tôi sẽ tạo một gói rất đơn giản bao gồm hai phần tử - một hàm và một thủ tục được lưu trữ. Tôi đã cố gắng giữ cho ví dụ này đơn giản nhất có thể để giữ cho khái niệm dễ hiểu.

Như chúng ta đã nói trong khi thảo luận về kiến ​​trúc của gói trong hướng dẫn trước rằng gói được chia thành hai phần, đó là

  • Tiêu đề gói và
  • Nội dung gói

Vì vậy, chúng ta sẽ bắt đầu với việc tạo tiêu đề gói trước

Tiêu đề gói

CREATE OR REPLACE PACKAGE pkg_RebellionRider IS
  FUNCTION prnt_strng RETURN VARCHAR2;
  PROCEDURE proc_superhero(f_name VARCHAR2, l_name VARCHAR2);
END pkg_RebellionRider;

Bằng cách nhìn vào đoạn mã trên, chúng ta có thể nói rõ ràng rằng gói sẽ chứa hai phần tử gói - một hàm PL / SQL prnt_strng và một thủ tục được lưu trữ proc_superhero.

Nội dung gói

--Package Body
CREATE OR REPLACE PACKAGE BODY pkg_RebellionRider IS
  --Function Implimentation
  FUNCTION prnt_strng RETURN VARCHAR2 IS
    BEGIN
      RETURN 'RebellionRider.com';
    END prnt_strng;
  
  --Procedure Implimentation
   PROCEDURE proc_superhero(f_name VARCHAR2, l_name VARCHAR2) IS
     BEGIN
      INSERT INTO new_superheroes (f_name, l_name) VALUES(f_name, l_name);
     END;
  
END pkg_rrdr;

Trong đoạn mã trên cho phần thân gói, chúng tôi đã triển khai cả hai phần tử gói mà chúng tôi đã xác định vào tiêu đề gói.

Byte thông tin
Cả tiêu đề và nội dung gói đều là các đối tượng cơ sở dữ liệu riêng lẻ, do đó bạn phải biên dịch chúng một cách riêng biệt để gói của bạn hoạt động.

Làm cách nào để truy cập các phần tử gói?

Chúng tôi đã tạo và biên dịch thành công tiêu đề và nội dung gói của mình, tiếp theo là gì? Giống như mọi đối tượng cơ sở dữ liệu khác, gói phục vụ một mục đích duy nhất. Sử dụng một gói, bạn có thể nhóm các đối tượng cơ sở dữ liệu khác nhau dưới một tên và vì các gói PL / SQL được đặt tên là các khối cơ sở dữ liệu, do đó chúng có thể được lưu trữ vào cơ sở dữ liệu và có thể được sử dụng sau này khi cần.

Vậy câu hỏi đặt ra ở đây là làm thế nào để truy cập vào các phần tử của gói? Để truy cập các phần tử được xác định và triển khai thành một gói, chúng ta sử dụng ký hiệu dấu chấm (.). Theo đó để truy cập phần tử gói, trước tiên bạn phải viết tên gói của mình, sau đó là toán tử dấu chấm (.) Và sau đó là tên của phần tử gói.

Ví dụ:

Ví dụ:giả sử bạn muốn gọi hàm PL / SQL prnt_strng trong gói pkg_RebellionRider của chúng tôi.

--Package Calling Function
BEGIN
  DBMS_OUTPUT.PUT_LINE (PKG_RebellionRider.PRNT_STRNG);
END;

Trong đoạn mã trên bằng cách sử dụng khối ẩn danh, chúng tôi gọi hàm prnt_strng của gói pkg_RebellionRider.

Bạn có thể xem video hướng dẫn về cùng chủ đề để biết cách gọi thủ tục proc_superhero trong gói của chúng tôi. Ngoài ra, trong cùng một video, tôi đã giải thích tất cả các mã trên một cách chi tiết. Tôi hy vọng bạn sẽ thích xem video đó. Nếu vậy, hãy nhớ Chia sẻ và Thích.

Bạn cũng có thể chia sẻ blog này với bạn bè hoặc đồng nghiệp của mình.

Cảm ơn và chúc một ngày tốt lành.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ORA-00936:thiếu biểu thức tiên tri

  2. ORA-00838

  3. 2 cách để xóa các hàng trùng lặp trong Oracle

  4. khoảng thời gian định dạng với to_char

  5. làm thế nào để nhân bản kết quả sql của tôi?