トップ回答者
BULK INSERTと同時に固定値を登録する方法

質問
回答
-
BULK INSERTの構文を見る限り、不可能のようですね。
ファイルからBULK INSERTした後に、対象のテーブルに固定値をUPDATEする方法も考えたのですが、
BULK INSERTされた列の特定が困難では、という理由です。
★良い回答には回答済みマークを付けよう! MVP - .NET http://d.hatena.ne.jp/trapemiya/
- 回答としてマーク kosuke1012 2016年10月5日 4:18
すべての返信
-
BULK INSERTの構文を見る限り、不可能のようですね。
ファイルからBULK INSERTした後に、対象のテーブルに固定値をUPDATEする方法も考えたのですが、
BULK INSERTされた列の特定が困難では、という理由です。
★良い回答には回答済みマークを付けよう! MVP - .NET http://d.hatena.ne.jp/trapemiya/
- 回答としてマーク kosuke1012 2016年10月5日 4:18
-
>トリガーを利用するという手を忘れておりました。B
BULK INSERTでトリガーを使用するには、withオプションに、FIRE_TRIGGERSを指定する必要があると思いますのでご注意ください。
また、ちょっと違うかな?と思って先の書き込みには書かなかったのですが、列の規定値を使う方法もあります。
列の既定値の指定
https://msdn.microsoft.com/ja-jp/library/ms187872.aspx★良い回答には回答済みマークを付けよう! MVP - .NET http://d.hatena.ne.jp/trapemiya/
-
FIRE_TRIGGERSオプションについて、ありがとうございます。行単位ではなくファイル単位にトリガーを起動させる方法と合わせて、ちょうど調べていました。
列の規定値についても、ありがとうございます。ただしこちらは今回は利用出来なさそうです。
なお、調べていたところ、
INSERT...SELECT * FROM OPENROWSET(BULK...)
とすることで、ファイルと、ファイル以外の固定値を同時にDBに登録することが出来そうだと分かりました。
今回は、結局この方法で進めようかと考えています。
https://msdn.microsoft.com/ja-jp/library/ms175915.aspx
- 編集済み kosuke1012 2016年10月5日 10:11
-
とすることで、ファイルと、ファイル以外の固定値を同時にDBに登録することが出来そうだと分かりました。
今回は、結局この方法で進めようかと考えています。
勉強になりました。情報、ありがとうございました。★良い回答には回答済みマークを付けよう! MVP - .NET http://d.hatena.ne.jp/trapemiya/