24.8 GENERATE_DATAプロシージャのシグネチャ1

このプロシージャは、ブループリント表とその列のカスタマイズに基づいてデータ行を作成します。

このプロシージャは、p_formatINSERT INTOまたはFAST INSERT INTOに設定されている場合、スキーマ内の表にデータを挿入します。出力にはデータが含まれません(すべてNULLに設定されます)。

また、このプロシージャは、データをファイルに生成します。そのファイルでは、3つの出力に次のデータが含まれています。

  • p_output (BLOB)には、データ出力が格納されています。コンテンツは、JSON、CSV、ZIPまたはSQLファイルに含めることができます。
  • p_file_extおよびp_mime_type (VARCHAR2)は、ファイル拡張子とそのMIMEタイプを示します。

これらの3つの出力パラメータは、クライアント側で処理できるように、ユーザーのブラウザにファイルを送信します。

どちらのシナリオでも、p_errorsはNULL値であるか、エラーを含むJSON出力が格納されたCLOBです。

構文

APEX_DG_DATA_GEN.GENERATE_DATA (
    p_blueprint             IN          VARCHAR2,
    p_format                IN          VARCHAR2,
    p_blueprint_table       IN          VARCHAR2 DEFAULT NULL,
    p_row_scaling           IN          NUMBER DEFAULT 100,
    p_stop_after_errors     IN          NUMBER DEFAULT c_max_error_count,
    p_output                OUT NOCOPY  BLOB,
    p_file_ext              OUT NOCOPY  VARCHAR2,
    p_mime_type             OUT NOCOPY  VARCHAR2,
    p_errors                OUT NOCOPY  CLOB )

パラメータ

パラメータ 説明
p_blueprint ブループリントの名前。
p_format

次のいずれかのオプションに設定できます。

SQL INSERTは、SQLスクリプトを出力します。

CSVは、1つの表に対して単一のCSVを出力するか、複数の表に対してCSVのZIPを出力します。

JSONは、JSONファイルを出力します。

INSERT INTOは、SQL INSERTスクリプトを生成し、現在のスキーマでINSERT文を実行します。

FAST INSERT INTOはデータを生成し、単一のINSERT ... into [table] SELECT ... from [temporary table]を実行します。

p_blueprint_table

すべての表の場合はnullです。nullでない場合は、指定された表のデータのみを生成します。

nullでない場合は、ブループリント内の表の表名にする必要があります。

この値では大/小文字が区別されます。

p_row_scaling ブループリントに定義された行の数をこのパーセンテージ値で増減します。
p_stop_after_errors プロセスが停止するまでに発生する可能性があるエラーの数。これはINSERT INTOにのみ適用されます。
p_output 出力を保持するBLOB。INSERT INTOおよびFAST INSERT INTOの場合はNULLです。
p_file_ext 出力のファイル拡張子。INSERT INTOおよびFAST INSERT INTOの場合はNULLです。
p_mime_type 出力のMIMEタイプ。INSERT INTOおよびFAST INSERT INTOの場合はNULLです。
p_errors エラーのJSON出力。成功時はNULLです。

DECLARE
    l_output    blob;
    l_file_ext  varchar2(255);
    l_mime_type varchar2(255);
    l_errors    clob;
BEGIN
    apex_dg_output.generate_data
        (p_blueprint          => 'Cars',
         p_blueprint_table    => 'my_cars',
         p_stop_after_errors  => 100,
         p_output             => l_output
         p_file_ext           => l_file_ext,
         p_mime_type          => l_mime_type,
         p_errors             => l_errors
        );
END;