SQLServer2008r2にデータを書き込む.NETアプリケーションを作成しています。データを挿入するには、大きな文字列の挿入ステートメントを作成してテキストコマンドとして送信するか、.NET DataTableにデータを収集して、テーブル値パラメーターとして渡すかの2つのオプションがあります。それぞれの方法の利点とコストは何ですか?
(特定の構文ではなく、相対的な利点について質問しているだけなので、多くのコードを省略しています)
例えば:
オプション1:
string insert = @"insert into MyTable (id, val) values
( 1, 'a'),(2,'b'),(3,'c'),(4,'d');"
オプション2:
DataTable dt = new DataTable();
dt.Columns.Add("id", typeof(int));
dt.Columns.Add("val", typeof(string));
....
create procedure uspMyProc
@tt ttMyTableType readonly
as
begin
insert into TestTable1 (id, strValue)
select myId, myVal from @tt;
end"
助けてくれてありがとう。