これが私のDataTable
見た目です(2列:Name
とCode
):
Name Code
name1 code1
name2 code2
name3 code3
主キーとそれらの2つの列を持つDataTable
という名前の既存のテーブルにそれを挿入したいと思います。MyTable
ストアドプロシージャのコーディングを開始する方法が本当にわかりません。パラメータaなどとして送信する方法はありますDataTable
か?
ありがとうございました。
これが私のDataTable
見た目です(2列:Name
とCode
):
Name Code
name1 code1
name2 code2
name3 code3
主キーとそれらの2つの列を持つDataTable
という名前の既存のテーブルにそれを挿入したいと思います。MyTable
ストアドプロシージャのコーディングを開始する方法が本当にわかりません。パラメータaなどとして送信する方法はありますDataTable
か?
ありがとうございました。
SQL-Server 2008では、テーブル値のパラメーターを使用できます。このようなもの:
CREATE TYPE dbo.MyTableType AS TABLE
( Name VARCHAR(5),
Code VARCHAR(5)
);
GO;
CREATE PROCEDURE dbo.MyProcedure (@MyTableType dbo.MyTableType READONLY)
AS
INSERT dbo.MyTable (Name, Code)
SELECT Name, Code
FROM @MyTableType;
GO;
次に、データテーブルをSqlCommandのパラメーター(SqlDbType.Structured)の値として渡すだけです。
または、SQLBulkInsertを使用して、ストアドプロシージャをバイパスすることもできます。