レコードの挿入
有効な対象
Replicat
このパラメータは、UPDATERECORDFORMAT COMPACTでは機能しません。
摘要
INSERTALLRECORDSパラメータでは、レコードの現在のバージョンのみではなく、ターゲット・レコードに行われたすべての操作のレコードを保持します。INSERTALLRECORDSを使用すると、Replicatは、レコードに対するすべての変更を新しいレコードとしてデータベースに挿入します。最初の挿入、その後の更新および削除は、ポイントインタイム・スナップショットとして保持されます。
INSERTALLRECORDSを使用する例を次に示します。
-
例外
MAP文で作業する場合。例外MAP文でINSERTALLRECORDSを使用すると、エラー処理方法の一環として、エラーを生成した操作の値が新しいレコードとして例外表に挿入されます。 -
トランザクション履歴を保持する場合。特定の行に対するすべての変更を新しいレコードとしてデータベースに挿入することで、最新バージョンだけを保持するかわりに、その行に対して実行されたすべての変更の履歴を保持できます。それぞれの挿入はポイントインタイム・スナップショットであり、監査の目的で必要に応じて問合せを実行できます。履歴データと特別なトランザクション情報を組み合せることで、より有益なターゲット・レポート・データベースを作成できます。
INSERTALLRECORDSは、パラメータ・ファイルのルート・レベルで使用すると、後続のすべてのMAP文に適用できます。また、MAP文で使用すると、特定の表またはワイルドカードで指定した複数の表に適用できます。
INSERTALLRECORDSに関するその他の情報
MAPの構文は、TABLE | MAPを参照してください。
デフォルト
なし
構文
INSERTALLRECORDS
例
例1
この例は、例外処理構成に含まれる、パラメータ・ファイルのルート・レベルのINSERTALLRECORDSです。
COLMAP (USEDEFAULTS,
TRAN_TIME = @GETENV("GGHEADER","COMMITTIMESTAMP"),
OP_TYPE = @GETENV("GGHEADER", "OPTYPE"),
BEFORE_AFTER_IND = @GETENV("GGHEADER", "BEFOREAFTERINDICATOR"),
SEQUENCE_ID = @COMPUTE(@COMPUTE(@NUMSTR(@GETENV ("RECORD", "FILESEQNO"))*100000000000)+@NUMSTR(@GETENV ("RECORD", "FILERBA")))
);
例2
この例は、MAP文のINSERTALLRECORDSです。
REPLICAT deliv
USERIDALIAS tiger1
SOURCEDEFS /ggs/dirdef/defs
REPERROR DEFAULT, ABEND
MAP fin.accTAB, TARGET fin.custTAB, INSERTALLRECORDS;