sql >> Databáze >  >> RDS >> Oracle

Inicializační část balíčku

Sekce inicializace balíčku, jak název napovídá, se provede při inicializaci balíčku. K tomu dochází, když je po navázání relace nebo po (znovu) kompilaci balíčku provedena první procedura/funkce z balíčku. Účelem je inicializovat globální stav balíčku, který lze použít během životnosti relace. Všechny globální proměnné balíčku jsou zachovány a můžete k nim přistupovat později.

Příklad:

[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>

Vidíte, že po zkompilování balíčku se při proceduře foo provede inicializační sekce je proveden. Balíček je nyní inicializován. Jakékoli následné spuštění foo provede pouze proceduru.




  1. Mysql - Jak zjistit úroveň izolace pro transakce

  2. jak zkontrolovat strukturu sloupců v ssis?

  3. Nekonečná smyčka PHP while

  4. Pamatujte na to při formátování datového typu TIME v SQL Server (T-SQL)