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

Phần khởi tạo của gói

Phần khởi tạo gói như đề xuất tên được thực thi khi gói được khởi tạo. Điều này xảy ra khi thủ tục / chức năng đầu tiên từ gói được thực thi sau khi phiên được thiết lập hoặc sau khi gói được biên dịch (lại). Mục đích là khởi tạo trạng thái chung của gói có thể được sử dụng trong suốt thời gian tồn tại của phiên. Tất cả các biến toàn cục của gói được giữ lại và bạn có thể truy cập chúng sau này.

Ví dụ:

[email protected]_pdb_tcp> CREATE OR REPLACE PACKAGE test_package
  2  IS
  3     PROCEDURE foo;
  4  END;
  5  /

Package created.

[email protected]_pdb_tcp> CREATE OR REPLACE PACKAGE BODY test_package
  2  IS
  3     PROCEDURE foo
  4     IS
  5     BEGIN
  6             DBMS_OUTPUT.PUT_LINE('Procedure executed. ');
  7     END;
  8
  9  BEGIN
 10     DBMS_OUTPUT.PUT_LINE('Package initialized. ');
 11  END;
 12  /

Package body created.

[email protected]_pdb_tcp> EXEC test_package.foo
Package initialized.
Procedure executed.

PL/SQL procedure successfully completed.

[email protected]_pdb_tcp> EXEC test_package.foo
Procedure executed.

PL/SQL procedure successfully completed.

[email protected]_pdb_tcp>

Bạn thấy rằng sau khi gói được biên dịch, phần khởi tạo được thực thi khi thủ tục foo được thực thi. Gói được khởi tạo ngay bây giờ. Mọi thực thi tiếp theo của foo chỉ thực hiện thủ tục.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Chèn hàng loạt vào cơ sở dữ liệu Oracle:Cái nào tốt hơn:Vòng lặp FOR Cursor hay một lựa chọn đơn giản?

  2. Từ Thủ tục đã lưu, trả về tham số OUT &con trỏ OUT &kết quả phân tích cú pháp (Oracle)

  3. Bắt một xử lý kết nối Oracle gốc trong Hibernate 4 để chạy một proc được lưu trữ

  4. Java không chạy câu lệnh chuẩn bị với tham số

  5. Oracle PL / SQL Release 12.2.0.1.0 so với 12.1.0.2.0 - thực thi ngay lập tức với các tham số