sql >> データベース >  >> RDS >> Oracle

特定のパッケージで宣言されたすべてのタイプのデータに関する情報を取得する方法

    PL/スコープを使用...

    alter session set plscope_settings = 'IDENTIFIERS:ALL';
    

    ...そしてパッケージを再コンパイルします(UTL_LOG 私の場合)...

    alter package utl_log compile;
    alter package utl_log compile body;
    

    ...次に、user_identifiersにクエリを実行します 表示...

    select name, type, object_name, object_type, line, col
    from user_identifiers
    where object_name = 'UTL_LOG'
        and usage = 'DECLARATION'
        and type not in ('VARIABLE','FUNCTION','FORMAL IN','FORMAL OUT','CONSTANT','PROCEDURE','FUNCTION','PACKAGE')
    ;
    

    ...これは(私の場合)結果になります...

    NAME                TYPE    OBJECT_ OBJECT_ LINE COL
    ------------------- ------- ------- ------- ---- ---
    ARR_SOME_COLLECTION VARRAY  UTL_LOG PACKAGE   19   6
    REC_SOME_RECORD     RECORD  UTL_LOG PACKAGE   15   6
    TYP_LOG_CODE        SUBTYPE UTL_LOG PACKAGE    8   9
    

    注意 そのPL/スコープはすべてに使用できます 任意で宣言/定義された識別子 データ型宣言だけでなく、プログラムユニット。



    1. SQLOracle-連続する行をフィルターと組み合わせる

    2. RubyからMySQLストアドプロシージャを呼び出すことは可能ですか?

    3. django ormとpostgresqlを使用した累積(実行中)合計

    4. T-SQLでパーセント記号をエスケープするにはどうすればよいですか?