27.16 DESCRIBE_QUERYファンクションのシグネチャ2

このプロシージャは、現在のリージョンのソースに基づいた問合せコンテキストを示します。

構文

APEX_EXEC.DESCRIBE_QUERY (
    p_location               IN t_location,
    --
    p_table_owner            IN VARCHAR2           DEFAULT NULL,
    p_table_name             IN VARCHAR2           DEFAULT NULL,
    p_match_clause           IN VARCHAR2           DEFAULT NULL,
    p_columns_clause         IN VARCHAR2           DEFAULT NULL,
    p_test_for_rowid         IN BOOLEAN            DEFAULT FALSE,
    --
    p_sql_query              IN VARCHAR2           DEFAULT NULL,
    p_function_body          IN VARCHAR2           DEFAULT NULL,
    p_function_body_language IN t_language         DEFAULT c_lang_plsql,
    --
    p_optimizer_hint         IN VARCHAR2           DEFAULT NULL,
    --
    p_server_static_id       IN VARCHAR2           DEFAULT NULL,
    --
    p_module_static_id       IN VARCHAR2           DEFAULT NULL,
    p_post_process_type      IN t_post_processing  DEFAULT NULL,
    --
    p_columns                IN t_columns          DEFAULT c_empty_columns,
    --
    p_duality_view_static_id IN VARCHAR2           DEFAULT NULL,
    p_json_source_static_id  IN VARCHAR2           DEFAULT NULL )
    RETURN t_columns;

パラメータ

パラメータ 説明
p_location 問合せコンテキストを開く場所。定数c_location_*を使用します。
p_table_owner 問合せタイプTABLEを使用する場合の表の所有者。
p_table_name 問合せタイプTABLEを使用する場合の表の名前。
p_match_clause 問合せタイプGRAPHを使用する場合に追加するMatch句。
p_columns_clause 問合せタイプGRAPHを使用する場合に追加する列句。
p_test_for_rowid 説明される問合せにROWID列を含めるかどうか。
p_sql_query 問合せタイプにSQL問合せを使用する場合に実行するSQL問合せ。
p_function_body SQL問合せを戻すファンクション本体。
p_function_body_language p_function_bodyに使用されるプログラミング言語。定数c_lang_*を使用します
p_optimizer_hint Oracle APEXによって生成された最も外側のSQL問合せに適用されるオプティマイザ・ヒント。
p_server_static_id REST対応SQLを使用した場合のリモート・サーバーの静的ID。
p_module_static_id RESTデータ・ソースの静的ID。
p_post_process_type RESTデータ・ソース結果データに適用される後処理のタイプです。
p_columns データソースから選択する列。
p_duality_view_static_id 二面性ビュー・ソースの静的ID。
p_json_source_static_id JSONソースの静的ID。

戻り値

列およびデータ型を記述するt_columnsオブジェクト。

次の例では、問合せについて説明し、結果列名を出力します。

DECLARE
    l_columns apex_exec.t_columns;
BEGIN
    l_columns := apex_exec.describe_query(
        p_location  => apex_exec.c_location_local_db,
        p_sql_query => 'select * from emp' );

    FOR i in 1 .. l_columns.count LOOP
        htp.p( 'Col #' || i || ': ' || apex_escape.html( l_columns( i ).name ));
    END LOOP;
END;