Dari dokumentasi,
ALL_PROCEDURES mencantumkan semua fungsi dan prosedur, bersama dengan properti terkait. Misalnya, ALL_PROCEDURES menunjukkan apakah suatu fungsi disalurkan, diaktifkan paralel, atau fungsi agregat. Jika suatu fungsi disalurkan atau fungsi agregat, jenis implementasi terkait (jika ada) juga diidentifikasi.
Tidak dijelaskan apakah akan mencantumkan PROSEDUR BERDIRI SENDIRI dan prosedur yang dikemas dalam PAKET dengan cara yang sama atau menganggapnya berbeda. Karena, procedure_name
tidak akan mencantumkan nama prosedur yang berdiri sendiri seperti yang terlihat pada kasus uji pada pertanyaan di atas.
PROCEDURE_NAME
kolom hanya akan memiliki nama prosedur untuk prosedur yang merupakan bagian dari PACKAGE
. Untuk PROSEDUR BERDIRI SENDIRI, Anda perlu menggunakan 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>
Anda bisa mendapatkan daftar prosedur menggunakan procedure_name hanya jika dibungkus dalam sebuah paket.
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>
Sekarang Anda dapat melihat nama_prosedur sebagai prosedur sebenarnya, dan nama_objek sebagai nama_paket.
Tentu saja, kebanyakan dalam sistem produksi kami akan memiliki paket, dan bukan prosedur yang berdiri sendiri. Namun, saat pengujian dan demo, kami mengkompilasi dan menjalankan prosedur yang berdiri sendiri. Jadi, ada baiknya mengetahui bagaimana Oracle menyimpan informasi dalam *_PROCEDURES tampilan .