人に聞かれて改めて調べてみたのですが、以下のSQLを叩いてディクショナリを参照するしかないようです。
(SQL*Plusのコマンドがあったような気もしたのですが...それは気のせいだったようです。)
SQLでプロシージャのソースを確認する
select text from {all_source|dba_source|user_source} where name = procedure_name order by line;
例えば、以下のように確認します。
SQL> select text from user_source where name = 'TEST_PROC' order by line; TEXT ---------------------------------------------------------------------------------------------------- PROCEDURE TEST_PROC ( param1 IN INTEGER, param2 IN INTEGER, param3 OUT INTEGER ) IS BEGIN param3 := param1 + param2; END;
ちなみに仕様(インターフェース)を確認するだけならSQL*Plusのdescコマンドが使えます。
SQL> desc TEST_PROC PROCEDURE TEST_PROC 引数名 タイプ In/Out Default? ------------------------------ ----------------------- ------ -------- PARAM1 NUMBER(38) IN PARAM2 NUMBER(38) IN PARAM3 NUMBER(38) OUT
これらのSQLやコマンドはストアドプロシージャだけでなく、ファンクション、トリガー、パッケージ(仕様・本体)でも同様に使うことができます。