21.24 UPDATE_COLUMNプロシージャ

このプロシージャは、ブループリント表の既存の列を更新します。

構文

APEX_DG_DATA_GEN.UPDATE_COLUMN (
    p_blueprint             IN VARCHAR2,
    p_table_name            IN VARCHAR2,
    p_column_name           IN VARCHAR2,
    p_new_column_name       IN VARCHAR2     DEFAULT NULL,
    p_sequence              IN PLS_INTEGER,
    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 )

パラメータ

表21-24 UPDATE_COLUMNのパラメータ

パラメータ 説明
p_blueprint ブループリントの識別子。
p_table_name ブループリントで認識される表名。まず正確な大/小文字をチェックし、次に大文字をチェックします。
p_column_name 列の名前。
p_new_column_name 列の新しい名前(名前変更)。
p_sequence 1番目の列は1、2番目は2のように指定します。
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

p_data_source_type = 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。これは、すべての式の前に適用されます。この列が式で参照されている場合、式には必要に応じて空白が含まれます。

ノート:

この列の式によって、列が空白にならない場合があります。

BEGIN
  apex_dg_data_gen.update_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');
END;