2016-08-16 5 views
0

ある従業員のレコードをある企業から別の大企業にコピーしたいと思います。主キーの重複競合が発生した場合は、レコードを交換する必要があります。 Delphi DataSetには「Insert」、「Append」、「Edit」、「Delete」というコマンドがありますが、完全なテーブル構造や主キーを知らなくても、同じテーブル間でレコードを「置換」する簡単な方法はありますか? 30以上のフィールドがあり、将来変更される可能性があります。レコードを別のデータセットに置き換えるにはどうすればよいですか?

MySQLでは、REPLACE INTO table2 (SELECT * FROM table1)となりましたが、従業員のIDや部門コードのように、ターゲットテーブルのいくつかのフィールドを変更したかったのです。

+0

通常、ModeがdmAppendUpdateに設定されたFireDAC BatchMoveコンポーネントをお勧めしますが、Delphi 7が付いているように見えますが、これはおそらく役に立ちません。 –

+0

@UweRaabe私はすでに解決策を考え出しましたが、私はMyDACを使用しており、CRBatchMoveコンポーネントがあるので、BatchMoveは興味深いようです。 BatchMoveの使い方の例を教えてください。 –

答えて

0

デルファイのデータセットレコードを置換/上書きする方法はありません。しかし、MySQLを使用して私は一時テーブルにソースデータを選択し、一時テーブルのデータを変更し、それをターゲットテーブルに配置することができます。

関連する問題