更新情報に対する反映対象表を定義します。1個の更新情報を,複数の反映対象表に反映する場合には,反映表定義を反映対象表の数だけ繰り返し定義します。フィールド名称,認可識別子,及び表識別子の指定方法については,「5.10.1 定義の規則」を参照してください。
〔{{ load { フィールド名称〔{{,フィールド名称 }}…〕|* }
from 更新情報名
{ to〔{ timestamp|sqlconvopt1|sqlconvopt2 }〕
〔 認可識別子.〕表識別子
〔 check {not_null_unique|unique|none}〕
〔 with lock 〕
| by 'uoc名' }
}}…〕
SQL文 | sqlconvopt1 | sqlconvopt2 |
---|---|---|
INSERTでキー重複が発生。 | UPDATEに置き換えて実行されます。 | UPDATEに置き換えて実行されます。 |
UPDATEで該当行がない。 | INSERTに置き換えて実行されます。 | INSERTに置き換えて実行されます。 |
DELETE | 該当行が削除されます。 | 該当行があるときは,マッピングキー以外でCONST句指定のない反映対象列にNULL値を設定してから,UPDATEに置き換えて実行されます。 該当行がないときは,無視されます。 |
PURGE | すべての行が削除されます。 | すべての行が削除されます。 |
表5-18 ユニークチェックの内容
チェック項目 | チェック内容 |
---|---|
インデクス種別 | 次のどれかのインデクス種別であること。
|
インデクス構成列 | マッピングキー構成列だけであること。 |
指定例 | 動作 |
---|---|
load * from t1 to T1 check not_null_unique | not_null_uniqueのチェックを行います。 |
load * from t1 to T1 check none load * from t1 to T1 | チェックを行いません。 |
指定例 | 動作 |
---|---|
load * from t1 to T1 check not_null_unique | not_null_uniqueのチェックを行います。 |
load * from t1 to T1 check none | チェックを行いません。 |
load * from t1 to T1 | not_null_uniqueのチェックを行います。 |
表5-19 LOCK TABLE文の実行がエラーとなった場合の動作
SQLCODE | 反映環境定義のskip_sqlcodeオペランド指定なし | 反映環境定義のskip_sqlcodeオペランド指定あり |
---|---|---|
-770,-911,-722,-723 | 実行中のトランザクションをロールバックし,同じトランザクションを更に2回までリトライします。2回目のリトライでもエラーが解消されない場合,KFRB03034-Eメッセージ及びエラーとなったLOCK TABLE文を未反映情報ファイルへ出力し,反映処理を停止します。 | LOCK TABLE文をスキップし,LOCK TABLE文が発行されていない状態で反映処理を続行します。出力する情報種別は反映環境定義のsqlerr_skip_infoオペランドに依存します(output,又はmsgoutputが指定されている場合,KFRB03043-Wメッセージを出力します)。 |
上記以外 | KFRB03034-Eメッセージ及びエラーとなったLOCK TABLE文を未反映情報ファイルへ出力し,反映処理を停止します。 |