有沒有辦法使用OpenXML和SQL Server存儲過程在不使用臨時表的情況下傳遞多個參數(這實際上減慢了我們的速度?)?使用OpenXML將多個參數傳遞給SQL Server存儲過程
例如,一個參數:
exec usp_FooBar
'<Data><States><State StateID="16" StateName="Massachusetts" "/></States></Data>'
在usp_FooBar
我會得到通過
Declare @StateID int
.
.
.
SELECT @StateID = StateID FROM
OPENXML(@IDOC,'/Data/States/State',1)
WITH
(
StateID INT
)
然而價值,可以說,我想在多個國家經過:
exec usp_FooBar
'<Data><States><State StateID="16" StateName="Massachusetts" "/><State StateID="87" StateName="Minnesota" /></States></Data>'
有什麼辦法可以做類似於s單一的狀態場景,我可以接受任意數量的參數,而不使用臨時表(正如我所提到的那樣,對我來說已經對性能產生了重大影響)?
我認爲臨時表是最快的方法,這裏是所有解決方案的好文章:http://www.sommarskog.se /share_data.html –
我會推薦溝渠'OpenXML'並使用** native ** XQuery支持來代替 - 是的,你絕對可以做到這一點,沒有問題 –