前提・実現したいこと
異なるDB間でのデータ移行を行いたいです。
該当のソースコード
vb.net
1insert into [コピー先データベース名A].[dbo].テーブル名(列名1,列名2,列名3,…) 2select 列名1,列名2,列名3,… 3from [コピー元データベース名B].[dbo].テーブル名
上記のやりかたでもいいのですが
実現可能であれば
各DBに対してトランザクション(コミット、ロールバック含む)
を行いたいです。
詳細
あくまでイメージなのですが
1.コピー先データベース名AのテーブルAに対して必要なデータ(コピーするデータ)をSELECT
2.コピー先データベース名Bのテーブルに対して「1」でSELECTした結果をINSERT
1または2の処理のどこかでエラーが起きた場合は
そのエラーが起きたDBに対してロールバックを行う。
実現可能でしょうか。
もしかしてですが・・・・
vb.net
1insert into [コピー先データベース名A].[dbo].テーブル名(列名1,列名2,列名3,…) 2select 列名1,列名2,列名3,… 3from [コピー元データベース名B].[dbo].テーブル名
の処理に対してトランザクションを行い、
エラーが起きた場合に、コピー先データベース名A・B
の両方に対してロールバックを行えばいいというものなのでしょうか。
よろしくお願い致します。
追記(2018/07/11 14:25)
方法として以下のものしか思いつかないのですが
実現できますでしょうか?
1.コピー先データベース名AのテーブルAに対して必要なデータ(コピーするデータ)をSELECTし
結果をどこかに保存。
2.コピー先データベース名Bのテーブルに対して「1」で保存してあるSELECT結果のデータ(複数レコード)
をレコード分ループしてINSERT
よろしくお願い致します。
補足情報(FW/ツールのバージョンなど)
環境
・sql sv2014
・Win sv 2012r2
・Win7
・vb.net
・vs2015
回答1件
あなたの回答
tips
プレビュー