我不確定這是否可能,但我想我會問。如何在執行更新時將params保留爲原始值
我有一個存儲過程,它將在表上執行更新。這個存儲過程有五個參數:
@ClawbackID int,
@PaymentID int,
@ClawbackDate date,
@ClawbackPercent money,
@ClawbackAmount money
因此,當用戶執行過程,他們需要的價值,填補了5個參數。
現在讓我們說這個場合我只想更新2個參數,這意味着我仍然必須爲3個參數輸入相同的值,我不想更改並輸入兩個新值2個參數我想改變。這可能會導致更多人爲錯誤的機會。
我想知道是否有一種方法可以設置,使我不想改變的參數,我只是保持參數名稱和我想要更改的參數,我輸入他們的值?
實施例下面,我改變5個的參數2是:
exec procexample @ClawbackID, @PaymentID, '2017-03-06', @ClawbackPercent, 1540.00
於是三PARAMS保持其原有的值和輸入的兩個值的變化。
然而,這將需要動態的在另一場合我可能需要更新4個值,則下一時機可能只有1個值等
這可能嗎?
謝謝
如果您傳遞NULL作爲值的佔位符而不會更改您將如何處理想要實際使用NULL作爲值的用戶?由於這是一個存儲過程,因此我不這樣做。我會使參數可選。 –
這將如何工作?有沒有辦法區分「參數值NULL」和「參數省略」? 當要更新的列是可爲空的,並且NULL是您需要設置的值時,使用一對參數:一個用於可空值,一位傳遞0忽略和1更新。 – dlatikay
哦,我想我明白了OP想要傳達的信息......他們沒有做好解釋他們實際上想要做的事情。我認爲你的解釋可能實際上是他們需要的。 –