我試圖使用數據表如下批量值傳遞給我的存儲過程批量值:數據表通過存儲過程
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