5.3.3 反映定義
- 〈この項の構成〉
(1) 更新情報フィールド定義
抽出側システムから送信される更新情報の名称と,フィールドの名称を定義します。
更新情報のすべてのフィールドを,並び順を変えないで反映表定義のload文で指定した列名の順に対応付ける場合,更新情報フィールド定義は省略できます。この場合,反映表定義のload文では,フィールド名称を省略して,「*」を指定します。
更新情報フィールド定義は,一つの更新情報に対して一つだけ定義できます。
(a) 形式
〔{{ format 更新情報名
name フィールド名称
〔{ const 初期値※|by 列データ編集関数識別子〔 nocodecnv 〕|〔 nocodecnv 〕}〕
〔{{ name フィールド名称
〔{ const 初期値※|by 列データ編集関数識別子〔 nocodecnv 〕|〔 nocodecnv 〕}〕
…}}〕
}}…〕
- 注※
-
Datareplicator Extensionを使用する場合は,オペランドの設定内容がDatareplicatorと異なります。
(b) オペランドの説明
Datareplicator Extensionを使用する場合に,設定内容が異なる点について説明します。
-
更新情報にはない任意のフィールドを追加する場合に,追加するフィールドの初期値を指定します。
初期値として指定できる定数の中で,Datareplicator Extensionを使用する場合に差異がある定数を次の表に示します。
表5‒8 const句に指定できる定数 定数
説明
指定内容
反映日付定数
反映日時を示す定数
reflect_date
反映時間定数
reflect_time
抽出日付定数
抽出日時を示す定数※
extract_date
抽出時間定数
extract_time
- 注
-
これらの定数は,次に示す列属性で反映を実行します。
Oracleとデータ連動する場合:
Oracle外部データ型のDATE型
ODBCドライバを使用してデータ連動する場合:
ODBCデータ型のSQL_TIMESTAMP型
- 注※
-
HiRDBシステム同士でデータ連動する場合は,DBに対して実際に更新処理が実行された日時が抽出日時となりますが,Oracle又はSQL ServerからHiRDBへデータ連動する場合は,抽出側Datareplicator Extensionがアドバンストキューから更新情報を取り出した日時が抽出日時となります。
(2) 反映表定義
更新情報に対する反映対象の表を定義します。一個の更新情報を,複数の反映対象の表に反映する場合には,反映表定義を反映対象の表の数だけ繰り返し定義します。フィールド名称,認可識別子,及び表識別子の指定方法については,マニュアル「HiRDBデータ連動機能 HiRDB Datareplicator」の反映定義の定義の規則を参照してください。
(a) 形式
〔{{ load { フィールド名称〔{{,フィールド名称 }}…〕|* }
from 更新情報名
{ to〔{ timestamp|sqlconvopt1※|sqlconvopt2※ }〕
〔 認可識別子.〕表識別子
〔 check {not_null_unique|unique|none} 〕
〔 with lock 〕※
| by 'uoc名' }
}}…〕
- 注※
-
Datareplicator Extensionを使用する場合は,指定しても無視されます。
(3) 反映グループ定義
表単位反映方式(表単位分割方式,キーレンジ単位分割方式,又はハッシュ分割方式)で反映処理を並列に実行するときの実行単位にする反映グループを定義します。反映グループは,128個まで繰り返し定義できます。フィールド名称,認可識別子,及び表識別子の指定方法については,マニュアル「HiRDBデータ連動機能 HiRDB Datareplicator」の反映定義の定義の規則を参照してください。
(a) 形式
〔{{ group 反映グループ名称
by〔 認可識別子.〕表識別子〔{{,〔 認可識別子.〕表識別子 }}…〕
/**** キーレンジ単位分割方式の定義 ****/
〔{{〔 in '反映先FESのホスト名'/ '反映先FESのサーバ識別子'
〔 / '反映先FESのポート番号' 〕〕※1
〔 having キーレンジ分割条件文〔{{,キーレンジ分割条件文}}…〕| other 〕
}}…〕
/**** ハッシュ分割方式の定義 ****/ ※2
〔{{ hash
{ in '反映先FESのホスト名'/ '反映先FESのサーバ識別子'〔 / '反映先FESのポート番号' 〕
〔(RDエリア名 {{,RDエリア名}} …|other)〕
〔{{ ,'反映先FESのホスト名'/ '反映先FESのサーバ識別子'〔 / '反映先FESのポート番号' 〕
〔(RDエリア名 {{,RDエリア名}} …|other)〕
}}… 〕
|divide into SQLプロセス分割数 }
}}…〕
- 注※1
-
Datareplicator Extensionを使用する場合は,指定しても無視されます。
- 注※2
-
Datareplicator Extensionを使用する場合は,ハッシュ分割方式の定義を指定するとエラーとなります。