21.6 ADD_TABLEプロシージャ

このプロシージャは、生成されたデータの宛先表を追加します。

構文

APEX_DG_DATA_GEN.ADD_TABLE (
    p_blueprint             IN VARCHAR2,
    p_sequence              IN PLS_INTEGER,
    p_table_name            IN VARCHAR2,
    p_preserve_case         IN VARCHAR2             DEFAULT 'N',
    p_display_name          IN VARCHAR2             DEFAULT NULL,
    p_singular_name         IN VARCHAR2             DEFAULT NULL,
    p_plural_name           IN VARCHAR2             DEFAULT NULL,
    p_rows                  IN NUMBER               DEFAULT 0,
    p_max_rows              IN NUMBER               DEFAULT NULL,
    p_use_existing_table    IN VARCHAR2             DEFAULT 'N',
    p_exclude_columns       IN wwv_flow_t_varchar2  DEFAULT c_empty_t_varchar2,
    p_table_id              OUT NUMBER )

パラメータ

表21-6 ADD_TABLEのパラメータ

パラメータ 説明
p_blueprint ブループリントの識別子。
p_sequence 1番目の表は1、2番目は2のように指定します。
p_table_name 存在する、または存在しない表の名前。
p_preserve_case デフォルトはNで、表名は強制的に大文字になります。Yの場合は、パラメータの大/小文字を保持します。
p_display_name わかりやすい表示名。
p_singular_name 単数形のわかりやすい名前。
p_plural_name 複数形のわかりやすい名前。
p_rows この表に対して生成する行数。
p_max_rows nullの場合、p_rowsによって行数が決まります。それ以外の場合は、出力の生成時にp_rowsp_max_rowsの間のランダムな行数が使用されます。
p_use_existing_table

Yの場合、データ・ディクショナリを使用して列を自動生成します。

自動ブループリント列作成では、次のデータ・ソース・マッピング・ルールがサポートされます。

  • 外部キー・データ生成(マスター表のキーを列に移入します)。
  • CHECK制約に基づくインライン・データ生成(単純なINコンストラクトがサポートされています)。
  • 既存の組込み表に基づく(表および列名に基づく)マッピング。
  • 列名、データ型および長さに基づくマッピング。
  • 列がNULL値可能である場合、値の5%がNULLになります。
p_exclude_columns 自動列生成から除外する列名の文字列配列(apex_t_varchar2)。
p_table_id 追加される表のID (OUT)。

DECLARE
   l_table_id number;
BEGIN
   apex_dg_data_gen.add_table(
                p_blueprint               => 'Cars',
                p_sequence                => 1,
                p_table_name              => 'my_cars',
                p_rows                    => '50',
                p_table_id                => l_table_id);

   apex_dg_data_gen.add_table(
                p_blueprint               => 'Cars',
                p_sequence                => 1,
                p_table_name              => 'my_cars',
                p_rows                    => '50',
                p_use_existing_table      => 'Y',
                p_table_id                => l_table_id
   );

   apex_dg_data_gen.add_table(
                p_blueprint               => 'Cars',
                p_sequence                => 1,
                p_table_name              => 'my_cars',
                p_rows                    => '50',
                p_use_existing_table      => 'Y',
                p_exclude_columns         => apex_t_varchar2('CREATED_BY','CREATED_DATE'),
                p_table_id                => l_table_id
   );
END;