Sql server 如何将datatable参数传递给存储过程sql server?
我需要将数据表传递给以下存储过程Sql server 如何将datatable参数传递给存储过程sql server?,sql-server,stored-procedures,datatable,Sql Server,Stored Procedures,Datatable,我需要将数据表传递给以下存储过程 create procedure insert_data (@a int , @b DataTable) as Begin ...... end 我使用C#您需要做几件事来实现这一点,因为您希望将表作为参数传递,因此需要创建(1)表类型,并(2)使存储过程接受该类型的参数 以下是创建表类型所需的步骤 表格类型 CREATE TYPE dbo.DataTable AS TABLE ( -- define table structure here
create procedure insert_data
(@a int ,
@b DataTable)
as
Begin
......
end
我使用C#您需要做几件事来实现这一点,因为您希望将表作为参数传递,因此需要创建(1)表类型,并(2)使存储过程接受该类型的参数 以下是创建表类型所需的步骤 表格类型
CREATE TYPE dbo.DataTable AS TABLE
(
-- define table structure here
)
GO
程序
现在让您的过程接受该表类型的参数
create procedure insert_data
@a int ,
@b dbo.DataTable READONLY --<-- Note this is read only param
as
Begin
......
end
sql的数据类型是什么?例如sqltype.string,,的类型是什么table@user3409439-数据类型取决于您在数据库中对类型的命名。在这种情况下,它将是
dbo.DataTable
DataTable dt = new DataTable("DataTable");
// Add columns to this object same as the type in sql server
dt.Columns.Add("Column1", typeof(string));
dt.Columns.Add("Column2", typeof(Int32));
//Populate the dt object
dt.Rows.Add("Value1", 1);
dt.Rows.Add("Value2", 2);
dt.Rows.Add("Value2", 3);