5

plsql でパラメータの名前を取得したい。

例えば、

procedure sp_example(myParam in varchar2) is

paramName varchar2(30);
begin
    paramName = 'myParam';
end
end procedure sp_example;

myParamハードコーディングする代わりに、リフレクションを使用して名前を取得する方法はありますか?

4

2 に答える 2

6

試す:

select argument_name from all_arguments where object_name = 'SP_EXAMPLE';

このビューは、データ型、位置なども表示でき、SQL または PL/SQL で使用できます。さまざまなメタデータ ビューに豊富な情報。

于 2012-08-28T23:58:06.190 に答える
1

それぞれの位置で取得されたパラメーターの名前を取得する場合は、次を使用します。

select argument_name from user_arguments where object_name='SAMPLE_PROC' order by position;

于 2012-08-29T18:34:54.767 に答える