Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

पैकेज का आरंभीकरण खंड

पैकेज इनिशियलाइज़ेशन सेक्शन जैसा कि नाम से पता चलता है, पैकेज को इनिशियलाइज़ करते समय निष्पादित किया जाता है। यह तब होता है जब सत्र स्थापित होने के बाद या पैकेज (पुनः) संकलित होने के बाद पैकेज से पहली प्रक्रिया/कार्य निष्पादित किया जाता है। इसका उद्देश्य पैकेज की वैश्विक स्थिति को इनिशियलाइज़ करना है जिसका उपयोग सत्र के जीवनकाल के दौरान किया जा सकता है। सभी पैकेज वैश्विक चर रखे जाते हैं और आप उन्हें बाद में एक्सेस कर सकते हैं।

उदाहरण:

example@sqldat.com_pdb_tcp> CREATE OR REPLACE PACKAGE test_package
  2  IS
  3     PROCEDURE foo;
  4  END;
  5  /

Package created.

example@sqldat.com_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.

example@sqldat.com_pdb_tcp> EXEC test_package.foo
Package initialized.
Procedure executed.

PL/SQL procedure successfully completed.

example@sqldat.com_pdb_tcp> EXEC test_package.foo
Procedure executed.

PL/SQL procedure successfully completed.

example@sqldat.com_pdb_tcp>

आप देखते हैं कि पैकेज संकलित होने के बाद आरंभीकरण अनुभाग निष्पादित किया जाता है जब प्रक्रिया foo निष्पादित किया जाता है। पैकेज को अब इनिशियलाइज़ किया गया है। foo . का कोई भी अनुवर्ती निष्पादन केवल प्रक्रिया निष्पादित करता है।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. पदानुक्रम तालिका का पथ कैसे प्राप्त करें

  2. ODP.NET 2.111 और ODP.NET 4.112 को एक ही मशीन में एक साथ कैसे स्थापित करें जबकि दोनों एक ही डेटाबेस सर्वर की ओर इशारा करते हैं

  3. Oracle के साथ काम करते समय Fluent NHibernate के साथ बैच लाने को कैसे कार्यान्वित करें?

  4. ओरेकल में अलग CURRENT_TIMESTAMP और SYSDATE

  5. Oracle:ऑब्जेक्ट प्रकार कॉलम के लिए डिफ़ॉल्ट मान निर्दिष्ट करना