2

これが私のDataTable見た目です(2列:NameCode):

Name Code

name1 code1
name2 code2
name3 code3

主キーとそれらの2つの列を持つDataTableという名前の既存のテーブルにそれを挿入したいと思います。MyTable

ストアドプロシージャのコーディングを開始する方法が本当にわかりません。パラメータaなどとして送信する方法はありますDataTableか?

ありがとうございました。

4

1 に答える 1

3

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を使用して、ストアドプロシージャをバイパスすることもできます。

于 2013-01-21T21:14:35.013 に答える