18.3 ADD_COLUMNプロシージャ
このプロシージャは、列のコレクションに列を追加します。列のサブセットのみをリクエストするために、列のコレクションをOPEN_*_CONTEXT
コールに渡すことができます。これは、SQL文が含まれないWebソースに特に役立ちます。列配列を渡さない場合や、空の列配列を渡した場合は、Webソースに定義されているすべての列がフェッチされます。
構文
PROCEDURE ADD_COLUMN(
p_columns IN OUT nocopy t_columns,
p_column_name IN VARCHAR2,
p_data_type IN t_data_type DEFAULT NULL,
p_sql_expression IN VARCHAR2 DEFAULT NULL,
p_format_mask IN VARCHAR2 DEFAULT NULL,
p_is_primary_key IN BOOLEAN DEFAULT FALSE,
p_is_query_only IN BOOLEAN DEFAULT FALSE,
p_is_returning IN BOOLEAN DEFAULT FALSE,
p_is_checksum IN BOOLEAN DEFAULT FALSE );
パラメータ
表18-1 ADD_COLUMNプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
列配列。 |
|
列名。 |
|
列のデータ型。 |
|
他の列から列を導出するためのSQL式。 |
p_format_mask |
この列に使用する書式マスク。 |
p_is_primary_key |
主キー列かどうか(デフォルトはfalse)。 |
p_is_query_only |
問合せのみの列をDMLコンテキストに書き込みません(デフォルトはfalse)。 |
p_is_returning |
DMLの実行後に、RETURNING列を取得するかどうか(デフォルトはfalse)。 |
p_is_checksum |
チェックサム(行バージョン)列であるかどうか(デフォルトはfalse)。 |
例
declare
l_columns apex_exec.t_columns;
l_context apex_exec.t_context;
begin
apex_exec.add_column(
p_columns => l_columns,
p_column_name => 'ENAME' );
apex_exec.add_column(
p_columns => l_columns,
p_column_name => 'SAL' );
l_context := apex_exec.open_web_source_query(
p_module_static_id => '{web source module static ID}',
p_columns => l_columns
p_max_rows => 1000 );
while apex_exec.next_row( l_context ) loop
-- process rows here ...
end loop;
apex_exec.close( l_context );
exception
when others then
apex_exec.close( l_context );
raise;
end;
親トピック: APEX_EXEC