バッチ移動モードの指定
メモ: ボーランド データベース エンジン(BDE)は推奨されなくなったので、今後は機能強化されません。たとえば、BDE では Unicode はサポートされません。BDE を使用して新規に開発を始めないでください。既存のデータベース アプリケーションを BDE から dbExpress に移行することを検討してください。
Mode プロパティはバッチ移動コンポーネントが実行する処理を指定します。
バッチ移動モード :
プロパティ | 用途 |
---|---|
batAppend |
転送先テーブルにレコードを追加する |
batUpdate |
ソーステーブルのレコードで対応する転送先テーブルのレコードを更新する。更新は転送先テーブルのインデックスに基づいて行われる |
batAppendUpdate |
一致するレコードが転送先テーブルに存在する場合は、それを更新する。対応するレコードがない場合、転送先テーブルにレコードを追加する。 |
batCopy |
転送元テーブルの構造に基づいて転送先テーブルを作成する。転送先テーブルがすでに存在する場合、そのテーブルは削除され、新しく作成される |
batDelete |
転送先テーブルのレコードのうち転送元テーブルのレコードに対応するものを削除する。 |
レコードの追加
データを追加するには、ターゲットデータセットは既存のテーブルを表していなければなりません。追加処理では、必要に応じてターゲットデータセットに適したデータ型とデータサイズにデータが変換されます。変換できない場合は例外が生成され、データは追加されません。
レコードを更新する
データを更新するには、ターゲットデータセットは既存のテーブルを表していなければならず、レコードを照合できるインデックスが定義されていなければなりません。一次インデックスフィールドを照合に使用する場合、ソースデータセット内のレコードのインデックスフィールドと一致するインデックスフィールドを持つターゲットデータセット内のレコードが、ソースデータで上書きされます。更新処理では、必要に応じてターゲットデータセットに適したデータ型とデータサイズにデータが変換されます。
レコードの追加更新
データを追加および更新するには、ターゲットデータセットは既存のテーブルを表していなければならず、レコードを照合できるインデックスが定義されていなければなりません。一次インデックスフィールドを照合に使用する場合、ソースデータセット内のレコードのインデックスフィールドと一致するインデックスフィールドを持つターゲットデータセット内のレコードが、ソースデータで上書きされます。一致するレコードがターゲットデータセット内にない場合は、ソースデータセットのデータがターゲットデータセットに追加されます。追加更新処理では、必要に応じてターゲットデータセットに適したデータ型とデータサイズにデータが変換されます。
データセットのコピー
ソースデータセットをコピーするには、ターゲットデータセットは既存のテーブルを表すものであってはなりません。既存のテーブルを表している場合にバッチ移動処理を行うと、そのテーブルがソースデータセットのコピーで上書きされます。
ソースデータセットとターゲットデータセットで使用されているデータベースエンジンが異なる場合(たとえば Paradox と InterBase など)、可能な限りソースデータセットに近い構造を持つターゲットデータセットが作成され、必要であればデータ型とデータサイズの変換が自動的に実行されます。
メモ: TBatchMove では、インデックス、制約、ストアドプロシージャなどのメタデータ構造はコピーされません。したがって、メタデータオブジェクトは、適切なデータベースサーバー上作成しなければなりません。
レコードの削除
ターゲットデータセット内のデータを削除するには、そのデータセットが既存のテーブルを表していなければならず、レコードを照合できるインデックスが定義されていなければなりません。一次インデックスフィールドを照合に使用する場合、ソースデータセット内のレコードのインデックスフィールドと一致するインデックスフィールドを持つターゲットデータセット内のレコードが、転送先テーブルから削除されます。