19.4 ADD_COLUMNプロシージャ

このプロシージャは、ブループリント表に列を追加します。

構文

APEX_DG_DATA_GEN.ADD_COLUMN (
    p_blueprint             IN VARCHAR2,
    p_sequence              IN PLS_INTEGER,
    p_table_name            IN VARCHAR2,
    p_column_name           IN VARCHAR2,
    p_preserve_case         IN VARCHAR2 DEFAULT 'N',
    p_display_name          IN VARCHAR2 DEFAULT NULL,
    p_max_length            IN NUMBER   DEFAULT 4000,
    p_multi_value           IN VARCHAR2 DEFAULT 'N',
    p_mv_format             IN VARCHAR2 DEFAULT 'JSON',
    p_mv_unique             IN VARCHAR2 DEFAULT 'Y',
    p_mv_delimiter          IN VARCHAR2 DEFAULT ':',
    p_mv_min_entries        IN INTEGER  DEFAULT 1,
    p_mv_max_entries        IN INTEGER  DEFAULT 2,
    p_mv_partition_by       IN VARCHAR2 DEFAULT NULL,
    p_lang                  IN VARCHAR2 DEFAULT 'en',
    p_data_source_type      IN VARCHAR2,
    p_data_source           IN VARCHAR2 DEFAULT NULL,
    p_ds_preserve_case      IN VARCHAR2 DEFAULT 'N',
    p_min_numeric_value     IN NUMBER   DEFAULT 1,
    p_max_numeric_value     IN NUMBER   DEFAULT 10,
    p_numeric_precision     IN NUMBER   DEFAULT 0,
    p_min_date_value        IN DATE     DEFAULT NULL,
    p_max_date_value        IN DATE     DEFAULT NULL,
    p_format_mask           IN VARCHAR2 DEFAULT c_json_date_format,
    p_sequence_start_with   IN NUMBER   DEFAULT 1,
    p_sequence_increment    IN NUMBER   DEFAULT 1,
    p_formula               IN VARCHAR2 DEFAULT NULL,
    p_formula_lang          IN VARCHAR2 DEFAULT 'PLSQL',
    p_custom_attributes     IN VARCHAR2 DEFAULT NULL,
    p_percent_blank         IN NUMBER   DEFAULT 0,
    p_column_id             OUT NUMBER )

パラメータ

表19-4 ADD_COLUMNのパラメータ

パラメータ 説明
p_blueprint ブループリントの識別子。
p_sequence 1番目の列は1、2番目は2のように指定します。
p_table_name ブループリントで認識される表名。まず正確な大/小文字をチェックし、次に大文字をチェックします。
p_column_name 列の名前。
p_preserve_case デフォルトはNで、列名は強制的に大文字になります。Yの場合は、パラメータの大/小文字を保持します。
p_display_name 指定された表のわかりやすい名前。
p_max_length データ(ラテン語のテキストなど)の部分文字列を生成するときの上限。
p_multi_value

YまたはN (現在は、BUILTIN表データおよびINLINEデータに使用できます)。

BUILTIN表データは個別になります。

INLINEデータは、すべての値が1回出現する場合(red,1;blue,1;green,1)、個別になります。それ以外の場合は、重複可能です(red,3;blue,4;green,8)。数値は、生成データの各値の近似頻度を示します。

p_mv_format DELIMITED (p_mv_delimiterに基づく)またはJSON ({"p_column_name" : ["sympton1","sympton2"]}など)。
p_mv_unique Yの場合、値は複数値列内で繰り返されません。Nの場合、値は繰り返される可能性があることを示します。
p_mv_delimiter DELIMITEDの場合のデリミタ。
p_mv_min_entries 複数値リストの最小値。
p_mv_max_entries 複数値リストの最大値。
p_mv_partition_by この値は、同じ組込みデータ・ソースの列と一致する必要があります。たとえば、p_data_source"car.model"の場合、"car.make"が有効であるため、この値は"make"になります。
p_lang 言語コード(endeesなど)。
p_data_source_type
  • BLUEPRINT
  • BUILTIN
  • DATA_SOURCE
  • FORMULA (p_data_sourceNULLである必要があります)
  • INLINE
  • SEQUENCE
p_data_source

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

  • DATA_SOURCE: DATA_SOURCE_NAME.COLUMN_NAME (列名の大/小文字はp_ds_preserve_caseに準拠し、デフォルトは大文字です)。
  • BUILTIN: 組込みリストを参照し、組込みと完全に一致する必要があります。
  • BLUEPRINT: すでに生成された表データを参照します(表の順序は下位にする必要があります)。たとえば、Dept.Deptnoとします(この場合、p_table_name = Deptadd_tableDeptnoadd_columnが存在します)。

    ノート:

    これは大/小文字が区別されます。p_preserve_case = Nで作成された表は、自動的に大文字になります。dept.deptnoではなく、DEPT.DEPTNOが必要になる場合があります。
  • INLINE: PART_TIME,3;FULL_TIME,7

    ノート:

    インライン形式はVALUE,FREQUENCYで、セミコロンで区切ります。値の頻度は近似値で、Oracleのベスト・プラクティスは、必要な分布をもたらす最小の数値を使用することです。
  • SEQUENCE: p_sequence_パラメータを使用します。
  • FORMULA: p_data_sourceはNULLである必要があります。p_formulaをPL/SQL式として使用し、{column_name}をこの表からの置換として使用します。たとえば、p_formula => {first_name}||'.'||{last_name}||'.insum.ca'となります。
p_ds_preserve_case p_data_source_type('DATA_SOURCE'. 'BLUEPRINT')p_ds_preserve_case = Nの場合、データ・ソースは大文字のtable_name.column_nameに一致するように大文字になります。
p_min_numeric_value NUMBER値を戻すBUILTINデータ・ソースで使用される最小値(包含)として使用される正の整数。
p_max_numeric_value NUMBER値を戻すBUILTINデータ・ソースで使用される最大値(包含)として使用される正の整数。
p_numeric_precision

0 = 小数値なし

-1 = 10の位に丸める

正の整数 = 小数点以下の桁数

p_min_date_value DATE型の値を戻すBUILTINデータ・ソースで使用される最小値(包含)として使用されるDATE
p_max_date_value DATE型の値を戻すBUILTINデータ・ソースで使用される最大値(包含)として使用されるDATE
p_format_mask データ型が日付の場合の書式マスク。
p_sequence_start_with p_data_source_type = SEQUENCEの場合にのみ使用します。
p_sequence_increment p_data_source_type = SEQUENCEの場合にのみ使用します。
p_formula

この行の列、このブループリント行に定義された列を参照できるPL/SQL式の参照を有効にします。次に例を示します。

{FIRST_NAME}||'.'||{LAST_NAME}||'.insum.ca'

置換は大/小文字が区別され、{column_name}と完全に一致する必要があります。p_preserve_caseNに設定した場合、{COLUMN_NAME}は大文字にする必要があります。

任意のDATA_SOURCE_TYPEに基づいて使用できます。

式は、最後(p_percent_blankの後)に適用されます。p_percent_blank = 100FORMULARsysdateの場合、列値はsysdateになります。

p_formula_lang 式は、{column_name}表記法を使用して、この列または他の列で実行されるPL/SQLファンクションの組合せとして使用できます。文字列/文字、日付/時間、数値/数学ファンクションがサポートされています。
p_custom_attributes 将来の拡張ため。
p_percent_blank 0から100。これは、すべての式の前に適用されます。この列が式で参照されている場合、式には必要に応じて空白が含まれます。

ノート:

この列の式によって、列が空白にならない場合があります。
p_column_id 追加される列のID (OUT)。

DECLARE
   l_column_id number;
BEGIN
   apex_dg_data_gen.add_column(
                p_blueprint               => 'Cars',
                p_sequence                => 1,
                p_table_name              => 'MY_CARS',
                p_column_name             => 'make',
                p_data_source_type        => 'BUILTIN',
                p_data_source             => 'car.make',
                p_column_id               => l_column_id);
END;