我有一個stored-procedure
其接受五個參數,並在表上減少數據庫的調用次數
Update Table
Set field = @Field
Where col1= @Para1 and [email protected] and [email protected] and col4 [email protected]
進行更新從用戶預期可以爲所有的條件參數選擇多個值。 例如,您可以選擇2個選項,其需要匹配Col1中在數據庫表(這需要通過爲@ PARA1)
所以我存儲所有選定值分開列出。
目前我使用foreach循環做更新
foreach (var g in _list1)
{
foreach (var o in _list2)
{
foreach (var l in _list3)
{
foreach (var a in _list4)
{
UpdateData(g, o, l,a);
}
}
}
}
我敢肯定這是不這樣做,因爲這會調用數據庫調用的數量的好方法。有沒有什麼辦法可以忽略循環,並做最少數量的數據庫調用來實現相同的結果?
更新
我要尋找一些其他的方法比Table-Valued Parameters
是不是所有的SP是幹什麼的?您是否可以在沒有SP的情況下自由執行此更新? – dasblinkenlight
你在控制數據庫模式嗎?具體而言,您是否允許創建用戶定義的類型? – dasblinkenlight
@dasblinkenlight:不,我不 –