FUJITSU Software Linkexpress 運用ガイド |
目次 索引 |
第3章 DB連携機能 | > 3.1 データベースの格納方法のカストマイズ |
データベースにデータを格納する方法として、以下の格納方式と格納方法が指定可能です。格納方式と格納方法は出力データ定義文のLOADMODEオペランドで指定します。
格納方式のうち追加更新、更新および差分反映は格納先データベースに一意性制約を持つ列が存在する場合に指定可能です。
新規に表を作成してデータを格納します。格納先表にすでにデータが存在する場合、データ格納処理は失敗します。
新規に表を作成、または表を作り直してデータを格納します。格納先表にすでにデータが存在する場合、既存データを削除して入力データを格納します。
新規に表を作成、または既存の表にデータを追加します。なお、一意性制約を持つ列が表に存在する場合、入力データの一意性制約を持つ列の値が未使用の値である必要があります。入力データの一意性制約を持つ列に使用済みの値が存在する場合、データ格納処理は失敗します。
一意性制約を持つ列をキーに既存の表のデータを更新、または追加します。一意性制約を持つ列の値に対応する入力データが存在する場合、該当行を入力データで更新します。格納先表が存在しない場合、または格納先表に一意性制約を持つ列が存在しない場合、データ格納処理は失敗します。
一意性制約を持つ列をキーに既存の表のデータを更新します。格納先表が存在しない場合、または格納先表に一意性制約を持つ列が存在しない場合、または更新対象となる行が格納先表に存在しない場合、格納処理は失敗します。
Linkexpressが独自に使用する列項目(差分反映情報項目と言います)でデータの追加、更新および削除を指示する格納方法です。また、追加、更新および削除は格納先表の一意性制約を持つ列をキーにして行います。格納先表が存在しない場合、または格納先表に一意性制約を持つ列が存在しない場合、格納処理は失敗します。
また、DBサービス定義で指定した入力データ項目に差分反映情報項目が含まれていない場合も、格納処理は失敗します。
格納方法はデータベース・システムおよび格納方式によって指定値が固定の場合もあります。
動的SQLを使用してデータベース・システムにアクセスします。ただし、SymfoWARE7000の場合、レコードアクセス機能(トランザクションあり)でアクセスします。
各データベース・システムが提供するロード・ユーティリティを使用してデータベース・システムにアクセスします。各データベースで実行するローダコマンドは以下のとおりです。
格納方法は利用する格納方式によって無条件に動的SQLが採用されます。格納方式と格納方法の指定値の組み合わせと採用されるデータベース・システムへのアクセス方法は以下のとおりです。
注1) Symfoware/pgsの場合、動的SQLでアクセスします。
注2) OracleおよびSQL Serverの場合、ローダでアクセスします。
注3) 差分反映情報項目(@DBOP)の指定により動作が異なります。差分反映情報項目については、「3.1.5 差分反映用入力データの作成方法」を参照してください。
0x0000 : ローダ
0x0001〜0x0004 : 動的SQL
格納方法の省略値は格納先のデータベース・システムによって異なります。以下に格納先データベース・システムごとの格納方法の省略値を示します。
備考. 業務定義を使用しないでデータ格納を行う場合、ファイルに対する格納処理が可能です。ファイルを出力先にした場合、初期創成、初期創成置換および追加創成が格納方法として指定可能です。ファイルに対する格納処理については、「4.1 分散型システム連携とは」を参照してください。
目次 索引 |