1
我有以下SQL用例(使用MS SQL)更新詢問
UPDATE AR_Slots
SET Running = @Running,
StopSignal = @StopSignal,
WHERE (SlotId = @SlotId)
我想如果運行參數(布爾)到一個名爲RunListID字段設置爲0是真實的,否則我不想根本改變這個值。
這樣做的「正確」方法是什麼?
感謝, 斯特凡
我有以下SQL用例(使用MS SQL)更新詢問
UPDATE AR_Slots
SET Running = @Running,
StopSignal = @StopSignal,
WHERE (SlotId = @SlotId)
我想如果運行參數(布爾)到一個名爲RunListID字段設置爲0是真實的,否則我不想根本改變這個值。
這樣做的「正確」方法是什麼?
感謝, 斯特凡
試着這麼做
UPDATE AR_Slots
SET RunListID =
CASE
WHEN <your check value>
THEN 0
ELSE RunListID
END,
<your other sets>
WHERE <your criteria>
我同意上述方案是可行的。我會補充說,即使將RunListID設置回原來的值也會被視爲對數據庫的更改。如果索引或觸發器與此字段關聯,則if將重建索引或執行觸發器。因此,如果性能很關鍵,爲此更新設置單獨的SQL可能是一個選項。 – 2010-12-17 11:33:44
謝謝!我不確定我可以使用實際的RunListID,然後重新設置它。 – StefanE 2010-12-17 11:45:23