(MTblGetで作成された)BLOB項目の内容をメモリテーブルに展開します。
|
|
MTblSet(BLOB項目、テーブル番号、DB テーブル名、 モード)
|
|
-
BLOB項目 …… メモリテーブルの内容を含んだBLOB項目
-
テーブル番号 …… [データ]リポジトリでのメモリテーブルの番号
-
DBテーブル名 …… (指定された場合)同じテーブル構成の異なる内容を参照します。
-
モード …… メモリテーブルを更新する場合のモードを指定します。以下のモードがあります。
-
0 …… 重複レコードがある場合、アボートします。BLOBデータから新規レコードを追加しますが、重複レコードが見つかった場合、処理が中断され全ての追加レコードは破棄されます。
-
1 …… 重複レコードがある場合、スキップします。BLOBデータから新規レコードを追加し、重複レコードが見つかった場合、次のレコードの処理に移ります。
-
2 …… 重複レコードがある場合、上書きします。BLOBデータから新規レコードを追加し、重複レコードが見つかった場合、最新のデータで更新します。
-
3 …… 既存のテーブルを初期化します。既存のテーブルの内容が削除され新しく作り直されます。
上記以外の値が指定された場合は、「0」と見なされます。
|
|
数値 …… 正常に終了した場合は 0 が返ります。それ以外の場合、以下のような負数が返ります。
-
-1 …… 重複インデックスが発生した(モードが「0」の場合)
-
-2 …… メモリテーブル構造が BLOBパラメータによって供給されたテーブル構造と合っていない。
-
-3 …… 指定したテーブルがメモリテーブルではない
-
-4 …… メモリテーブルが他の理由で更新できなかった
-
-5 …… 既存のテーブルが削除できなかった(モードが「3」の場合)
|
|
MTblGet関数と組み合わせて利用してメモリテーブルの内容を永続的に維持することで、メモリテーブルの内容を保存し、必要に応じて変換することができるようになります。
|
|
-
関数の実行中に発生した全ての DB エラーは、テーブル内容の終りまでスキップされます。
-
現在のタスクのトランザクション設定に関係なく、ネストトランザクションとして、メモリテーブルが更新実行されます。 これは、関数が終了した時、全ての追加レコードがコミットされることを意味します。
-
この関数は、メモリテーブル構造と BLOB の内容の構造の整合性を確認します。テーブル構造は、カラムの順番、数、型のみ比較され、インデックスや外部キーはチェックされません。
-
DBテーブル名パラメータ(これによって別のテーブルを参照することが可能です。) で指定されたテーブルが、実行中のタスクでオープンされている場合は処理できません。
|