5.10.4 更新情報フィールド定義
抽出側システムから送信される更新情報の名称と,各フィールドの名称を定義します。
更新情報のすべてのフィールドを,並び順を変えないで反映表定義のload文で指定した列名の順に対応付ける場合,更新情報フィールド定義は省略できます。この場合,反映表定義のload文では,フィールド名称を省略して,「*」を指定します。「*」を指定すると,更新情報フィールド定義があっても,その内容は無視されます。
更新情報フィールド定義は,一つの更新情報に対して一つだけ定義できます。
- 〈この項の構成〉
(1) 形式
〔{{ format 更新情報名
name フィールド名称
〔{ const 初期値|by 列データ編集UOC関数識別子〔 nocodecnv 〕|〔 nocodecnv 〕}〕
〔{{ name フィールド名称
〔{ const 初期値|by 列データ編集UOC関数識別子〔 nocodecnv 〕|〔 nocodecnv 〕}〕
…}}〕
}}…〕
(2) オペランドの説明
-
〜〈1〜8文字の記号名称〉
抽出側システムの抽出定義で定義されている更新情報名を指定します。
-
name フィールド名称〔{ const 初期値|by 列データ編集UOC関数識別子〔 nocodecnv 〕|〔 nocodecnv 〕}〕
〔{{ name フィールド名称〔{ const 初期値|by 列データ編集UOC関数識別子〔 nocodecnv 〕|〔 nocodecnv 〕}〕 …}}〕
format文で指定した更新情報のフィールド名称,又は追加するフィールド名称を指定します。フィールド名称は4000まで指定できます。
-
反映するかどうかに関係なく,更新情報のすべてのフィールド名称を,更新情報の先頭のフィールド名称から順に指定します。更新情報にはない任意のフィールドを追加する場合には,任意の名称を指定し,次に説明する「const 初期値」を指定します。
フィールド名称は,1個の更新情報フィールド定義内で一意になるように指定してください。
フィールド名称の指定方法は,「5.10.1 定義の規則」を参照してください。
-
更新情報にはない任意のフィールドを追加する場合に,追加するフィールドの初期値を指定します。なお,constに指定した値を反映側DBに反映できるのは,更新種別が挿入(INSERT)のときだけです。
初期値として指定できる定数を次の表に示します。
表5‒19 const句に指定できる定数 定 数
列属性
説明
指定内容
反映内容
文字列定数※1
CHARACTER
アポストロフィ(’)で囲んだ文字列
(例)'abc'
(例)abc
日本語文字列定数※1
NCHAR
アポストロフィ(’)で囲んだ日本語文字列
(例)'平和'
(例)平和
真数定数※2又は
符号なし整数※2
INTEGER,
SMALLINT,
DECIMAL,
FLOAT,
SMALLFLT
符号(+,−),数字,小数点から構成される文字列
(例)−1.23
(例)−1.23
null定数
※3
null値を示す定数
null
null値
反映種別
CHAR
反映処理の更新種別を示す定数
reflect_kind
※4
反映日付定数
DATE
反映日付を示す定数
reflect_date
(例)19990328※5
反映時間定数
TIME
反映時間を示す定数
reflect_time
(例)221530※6
反映時刻印定数
TIMESTAMP
反映時刻印を示す定数
reflect_timestamp
(例)19990328221530※7
抽出日付定数
DATE
抽出日付を示す定数
extract_date
(例)19990328※5
抽出時間定数
TIME
抽出時間を示す定数
extract_time
(例)214016※6
抽出時刻印定数
TIMESTAMP
抽出時刻印を示す定数
extract_timestamp
(例)19990328214016※7
-
- 注
-
抽象データ型の列と繰返し列には,null定数だけを指定できます。null定数以外を指定すると,反映時にHiRDBでデータ互換性エラーになります。
- 注※1
-
30バイトまで指定できます。
- 注※2
-
10進数で29けたまで指定できます。
- 注※3
-
すべての列属性に対応します。
- 注※4
-
反映処理の更新種別によって,次の4種類のどれかが反映されます。
・upd:更新種別が更新(UPDATE)の場合
・ins:更新種別が挿入(INSERT)の場合
・del:更新種別が削除(DELETE)の場合
・purge:更新種別が全行削除(PURGE TABLE)の場合
- 注※5
-
反映日付と抽出日付は,年月日の形式で反映されます。
- 注※6
-
反映時間と抽出時間は,時分秒の形式で反映されます。
- 注※7
-
反映時刻印と抽出時刻印は,年月日時分秒(秒は小数点第0,2,4,6位までを選択)の形式で反映されます。
ただし,抽出時刻印については,小数点以下の時刻は抽出側DBがメインフレームの場合にだけ取得します。また,そのときに取得する秒数は,小数点第2位までになります。
-
更新情報のフィールドに対応する抽出データを,列データ編集UOCでデータ編集する場合に,編集に使う列データ編集UOC関数識別子を指定します。
列データ編集UOC関数識別子は,typeX(Xは1から8まで指定でき,それぞれUOC関数 hds_ucoledit1()からhds_ucoledit8()に対応)を指定します。
ただし,マッピングキーに対応するフィールドに対しては指定できません。列データ編集UOCで扱えないデータ型及び列属性については,「8.2.5(4) データ型の制限」を参照してください。
-
更新情報のフィールドに対応する抽出データの文字コード変換処理を抑止させる場合に指定します。ただし,次に示す抽出列属性に対応するフィールドには指定できません。
-
文字型以外に対応するフィールド
-
抽象データ型(SGMLTEXT,FREEWORD,XML)に対応するフィールド
-
マッピングキーに対応するフィールド
反映情報編集UOCに対しての反映表定義(load文中)に,このオプションを指定したフィールドが含まれていない場合は,このオプションは無視して(文字コード変換処理を実行して)反映処理を実行します。
-