Вот пример:
CREATE TYPE members_table_type AS TABLE
(
mem_username VARCHAR(25),
mem_firstname VARCHAR(25),
mem_lastname VARCHAR(25)
);
CREATE STORED PROCEDURE insert_members
@members members_table_type
AS
BEGIN
INSERT INTO dbo.members
(mem_username, mem_firstname, mem_lastname)
SELECT mem_username, mem_firstname, mem_lastname FROM @members;
END
In .NET:
DataTable members = new DataTable();
members.Columns.Add(new DataColumn("mem_username", typeof(string)));
members.Columns.Add(new DataColumn("mem_firstname", typeof(string)));
members.Columns.Add(new DataColumn("mem_lastname", typeof(string)));
DataRow row = members.NewRow();
row["mem_username"] = "test";
row["mem_firstname"] = "test";
row["mem_lastname"] = "test";
members.Rows.Add(row);
SqlCommand command = new SqlCommand("insert_members");
command.Parameters.Add(members, SqlDbType.Structured);
command.ExecuteNonQuery();