Rumah > Artikel > pangkalan data > Bagaimana untuk menanyakan prosedur tersimpan dalam oracle
Ini akan mengembalikan metadata prosedur yang disimpan, termasuk parameternya, jenis pemulangan dan membuat pernyataan. Menggunakan pakej DBMS_METADATATerdapat tiga cara untuk menanyakan prosedur tersimpan Oracle: (1) Gunakan SELECT untuk menanyakan jadual semua_prosedur; (2) Gunakan fungsi GET_PROCEDURES bagi pakej DBMS_METADATA (3) Gunakan jadual semua_bergantungan untuk menanyakan kebergantungan prosedur tersimpan . . Gunakan pertanyaan berikut:
<code class="sql">SELECT * FROM all_procedures WHERE procedure_name = '<存储过程名称>';</code>
Pakej DBMS_METADATA menyediakan cara yang lebih maju untuk mendapatkan maklumat prosedur tersimpan. Gunakan pertanyaan berikut:
<code class="sql">DECLARE v_proc_name VARCHAR2(30) := '<存储过程名称>'; -- 替换为实际存储过程名称 BEGIN FOR record IN DBMS_METADATA.GET_PROCEDURES( ownname => NULL, -- 省略所有者名称以检索所有存储过程 procname => v_proc_name, -- 指定要检索的存储过程名称 argnames => NULL, -- 省略参数名称以检索所有参数 argtypes => NULL -- 省略参数类型以检索所有类型 ) LOOP DBMS_OUTPUT.PUT_LINE('存储过程名称: ' || record.procedure_name); DBMS_OUTPUT.PUT_LINE('所有者: ' || record.owner); DBMS_OUTPUT.PUT_LINE('创建语句: ' || record.text); END LOOP; END;</code>
Kebergantungan pertanyaan
Untuk menanya kebergantungan prosedur tersimpan, anda boleh menggunakan pertanyaan berikut:
<code class="sql">SELECT * FROM all_dependencies WHERE object_type = 'PROCEDURE' AND object_name = '<存储过程名称>';</code>
Ini akan mengembalikan senarai yang mengandungi objek lain yang bergantung kepada prosedur tersimpan, seperti jadual atau prosedur tersimpan lain.
Atas ialah kandungan terperinci Bagaimana untuk menanyakan prosedur tersimpan dalam oracle. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!