嗨在SQL Server中將參數傳遞給存儲過程的有效方式是什麼?以有效的方式傳遞給存儲過程的參數
其實我的參數值包含像
@empids = '1,2,3,4,5,6,7,8,9'
一些這樣的事高達1000
所以我試圖通過1000逗號分隔值到一個單一參數的一些事情,這是工作精細。
但是除此之外,還有其他最好的解決方案嗎?
謝謝
嗨在SQL Server中將參數傳遞給存儲過程的有效方式是什麼?以有效的方式傳遞給存儲過程的參數
其實我的參數值包含像
@empids = '1,2,3,4,5,6,7,8,9'
一些這樣的事高達1000
所以我試圖通過1000逗號分隔值到一個單一參數的一些事情,這是工作精細。
但是除此之外,還有其他最好的解決方案嗎?
謝謝
謝謝你的支持者。我會嘗試使用這個 – jestges 2010-11-26 06:49:17
可以使用XML還
等作爲
string CustomerIdXML ="<NewDataSet><Table1><Id>56</Id></Table1><Table1><Id>57</Id></Table1></NewDataSet>";
SqlParameter[] _param = new SqlParameter[1];
_param[0] = new SqlParameter("@XDoc", CustomerIdXML);
SqlDataAccess.ExecuteNonQuery(SqlDataAccess.ConnectionString, CommandType.StoredProcedure, "sp1", _param);
可以使用跟隨着方式
CREATE PROC [dbo].[sp1]
@xDoc NTEXT
As
DECLARE @docHandle INT
EXEC sp_xml_preparedocument @docHandle OUTPUT, @xDoc
BEGIN TRANSACTION
UPDATE Tbl SET ISDelete = 1 WHERE Id IN (SELECT Id FROM OPENXML(@docHandle, '/NewDataSet/Table1', 3) WITH (Id BIGINT))
IF @@ERROR <> 0
BEGIN
ROLLBACK TRANSACTION
RETURN @@ERROR
END
COMMIT TRANSACTION
EXEC sp_xml_removedocument @docHandle
RETURN 1
retrive在SP ID中傳遞參數
Hopw you like this way
XML很棒,但在這種情況下,儘量保持簡單。否則,你可能會遇到兩個問題。 – invert 2010-11-26 07:39:52
已經有數百次的問題了...... – 2010-11-26 06:44:41