这是我的DataTable
样子(2列:Name
和Code
):
Name Code
name1 code1
name2 code2
name3 code3
我想将它插入DataTable
到一个名为的现有表中,该表MyTable
具有一个主键和这 2 列。
我真的不知道我应该如何开始编写我的存储过程,有没有办法发送参数 aDataTable
或类似的东西?
谢谢你。
这是我的DataTable
样子(2列:Name
和Code
):
Name Code
name1 code1
name2 code2
name3 code3
我想将它插入DataTable
到一个名为的现有表中,该表MyTable
具有一个主键和这 2 列。
我真的不知道我应该如何开始编写我的存储过程,有没有办法发送参数 aDataTable
或类似的东西?
谢谢你。
在 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 并绕过存储过程。