2

这是我的DataTable样子(2列:NameCode):

Name Code

name1 code1
name2 code2
name3 code3

我想将它插入DataTable到一个名为的现有表中,该表MyTable具有一个主键和这 2 列。

我真的不知道我应该如何开始编写我的存储过程,有没有办法发送参数 aDataTable或类似的东西?

谢谢你。

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 回答