人に聞かれて改めて調べてみたのですが、以下の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やコマンドはストアドプロシージャだけでなく、ファンクション、トリガー、パッケージ(仕様・本体)でも同様に使うことができます。