Z dokumentace
ALL_PROCEDURES uvádí všechny funkce a procedury spolu s přidruženými vlastnostmi. Například ALL_PROCEDURES označuje, zda je funkce zřetězená, povolená paralelně nebo agregační funkce. Pokud je funkce zřetězená nebo agregovaná, je také identifikován přidružený typ implementace (pokud existuje).
Není objasněno, zda bude uveden SAMOTNÝ POSTUP a proceduru zabalenou do BALÍKU stejným způsobem nebo to považuje jinak. Protože procedure_name
neuvádí název samostatné procedury, jak je vidět v testovacím případě v otázce výše.
PROCEDURE_NAME
sloupec bude mít pouze název procedury pro procedury, které jsou součástí PACKAGE
. Pro STAND ALONE PROCEDUS musíte použít OBJECT_NAME .
SQL> show user
USER is "LALIT"
SQL> CREATE OR REPLACE
2 PROCEDURE new_proc
3 AS
4 BEGIN
5 NULL;
6 END;
7 /
Procedure created.
SQL>
SQL> SELECT owner,
2 object_name,
3 procedure_name,
4 object_type
5 FROM all_procedures
6 WHERE owner='LALIT'
7 AND object_name='NEW_PROC';
OWNER OBJECT_NAME PROCEDURE_NAME OBJECT_TYPE
----- --------------- --------------- ---------------
LALIT NEW_PROC PROCEDURE
SQL>
Seznam procedur můžete získat pomocí procedury název pouze v případě, že je zabalen v balíčku.
SQL> -- package
SQL> CREATE OR REPLACE
2 PACKAGE new_pack
3 IS
4 PROCEDURE new_proc;
5 END new_pack;
6 /
Package created.
SQL>
SQL> -- package body with a procedure
SQL> CREATE OR REPLACE
2 PACKAGE BODY new_pack
3 IS
4 PROCEDURE new_proc
5 IS
6 BEGIN
7 NULL;
8 END;
9 END new_pack;
10 /
Package body created.
SQL> SELECT owner,
2 object_name,
3 procedure_name,
4 object_type
5 FROM all_procedures
6 WHERE owner='LALIT'
7 AND procedure_name='NEW_PROC';
OWNER OBJECT_NAME PROCEDURE_NAME OBJECT_TYPE
----- --------------- --------------- -----------
LALIT NEW_PACK NEW_PROC PACKAGE
SQL>
Nyní můžete vidět název_procedury jako skutečnou proceduru a název_objektu jako název_balíčku.
Samozřejmě, většinou v produkčních systémech bychom měli balíčky, a ne samostatné postupy. Ale během testování a ukázek kompilujeme a spouštíme samostatné procedury. Je tedy dobré vědět, jak Oracle udržuje informace v zobrazeních *_PROCEDURES .