データベーステーブルアクション設定

www.altova.com このトピックを印刷 前のページ 1つ上のレベル 次のページ

ホーム >  データソースとターゲット > MapForce とデータベース > データをデータベースにマップする >

データベーステーブルアクション設定

データベーステーブルにマッピング接続を作成する都度、データベースアクション ボタンが影響を受けるテーブルの横に表示されます。このボタンをクリックすると、データベースの挿入、更新、アクションの削除、とその他のオプションを構成することのできる、データベース テーブル アクション ダイアログボックスが開かれます。

mf_db_actions_settings

データベース テーブル アクション ダイアログボックス

以下は、データベース テーブル アクション ダイアログボックスで使用することのできる設定の説明です。

 

最初のレコードの前に実行する SQL ステートメント

このグループボックスでは、最初のレコードがデータベースから取得される前に実行する SQL ステートメントを指定することができます。以下にあるラジオボタンから選択を行ってください:

 

無し (デフォルトの設定): アクションは取られることはありません。
全てのレコードを削除: 「各レコードに対して実行するアクション」グループボックスにて定義されたテーブルアクションを実行する前に、選択されたテーブルにある全てのレコードを削除します。全ての子テーブルにある全てのレコードも削除チェックボックスを有効にすることで、選択されたテーブルにある子テーブル内にあるデータを取り除くことができます。 例えば、次を参照してください:データを複数にリンクされているテーブルに挿入する.
カスタム SQL:テーブル全体を対象としたカスタム SQL ステートメントを記述することができます。

 

 

各レコードのために実行するアクション

設定は、マッピングが実行されるときにこのテーブルに対して取られるデータベースアクションを指定します。テーブルアクションを管理するには、「アクションの追加」 をクリックし、「アクションの挿入」または 「アクションの削除」 ボタン. 複数のアクションを 必要であれば定義することができます (例えば、「残りを挿入」 アクションが後に続く 「以下の条件で更新...」 アクション。

 

定義されたテーブルアクションは、左から右に処理されます。上の例では、 「以下の条件で更新...」 アクションが最初に処理されます。更新の条件 が満たされない場合、次のアクションが処理されます (この例では、「残りを挿入」 アクション)。 以下の点に留意してください:

 

1つのアクションのすべての定義された条件が実行されるテーブルアクションのために満たされなければなりません。条件が全て満たされる場合、 これらすべてのフィールドは、マッピング上でソースとターゲットアイテムの間の接続が存在する場所で更新されます。 (条件が一致するアクションの右にある) その後のテーブルアクションは、そのレコードのために無視されます。
定義された条件が満たされない場合、テーブルアクションはスキップされ、 次のアクションが(右に向かって)処理されます。
条件が満たされない場合、 テーブルアクションは発生しません。

 

列の条件が入力アクションのために存在しないため、 「全て挿入」 または 「残りを挿入」 アクションの後に定義されているアクションは、実行されません。 この場合、その後のテーブルアクション列が削除されることを通知するダイアログボックスが表示されます。

 

「NULL Equal」 列内のレコードの横にあるチェックボックスにより、適用できる場合は、 MapForce に明示的に、全ての列が NULL 値を持ちそのように扱われることを命令することができます (次を参照してください: データベーステーブルアクション内の Null の扱い)。

 

他のテーブルへの外部キーリレーションシップを持つマッピングを更新する場合、次のオプションを使用することができます:

 

子テーブル内のデータの削除

親テーブルのために「以下の条件で更新...」 アクションを選択すると、このオプションは、役に立ちます。を選択すると、 ソースファイル内のレコードの数がターゲットデータベース内のレコードの数と異なる場合、必要になる可能性があり、データベースを同期化(子テーブル内で孤立下データがない状態に)しておくとよいかもしれません。以下も参照してください: 親テーブルを更新する際の子テーブルのためのオプション.

入力子データを無視する

テーブルの子テーブル/レコードに影響を及ばすこと無く、ターゲット親テーブルを更新するためにこのオプションを使用することができます。以下も参照してください: 親テーブルを更新する際の子テーブルのためのオプション.

 

アクションの多種の組み合わせを説明している例に関しては、以下を参照してください:

 

データをテーブルに挿入する
データを複数にリンクされているテーブルに挿入する
テーブルの更新
親テーブルを更新する際の子テーブルのためのオプション
「以下の条件で更新し、残りを挿入」 アクション
「以下の条件で削除...」 アクション
「以下の条件で無視...」アクション

 

トランザクションの使用

この特定のテーブルアクションのためのデータベース トランザクション を有効化します。詳細に関しては、次を参照してください:トランザクションロールバックの使用

 

バルク転送の使用

(複数の INSERT ステートメントを1つのクエリとしての)バルク転送を有効化します。マッピングが MapForce Server により実行されている場合およびデータベース アクションが 「全て挿入」 の場合、バルク転送はサポートされています。詳細に関しては、バルク挿入 (MapForce Server) を参照してください。


(C) 2019 Altova GmbH