我试图使用数据表如下批量值传递给我的存储过程批量值:数据表通过存储过程
var idlist = new DataTable();
idlist.Columns.Add("sid", typeof(int));
idlist.Columns.Add("suid", typeof(int));
idlist.Rows.Add(new object[] {1, 1});
idlist.Rows.Add(new object[] {1, 2});
cmd.Parameters.Add(new SqlParameter("@SID", Convert.ToString(idlist)));
在SQL Server存储过程是这样的:
ALTER PROCEDURE [dbo].[SUBNETTEMP]
(
@SID as IDLISTS READONLY
)
AS
BEGIN
Create table [tempIDTable] (sid int, suid int)
Insert into [tempIDTable]
select * from @SID
END
IDLISTS
如下被定义为表型:
CREATE TYPE IDLISTS AS TABLE (
SID int, SUID int)
go
运行程序予后我不确定为什么我的存储过程不会创建temIDTable
。我不确定存储过程是否成功执行?任何人都可以请求帮助。
谢谢。
是否有任何理由为什么参数必须是表格?你可以将参数更改为2个独立的int字段而不是表吗? – PaulStock