例如 更新表A
原sql
UPDATE A
SET rate = '1'
WHERE id = v_task_id
AND trunc(valid_date) > trunc(p_create_date);
UPDATE A
SET rate = round((trunc(end_date) - trunc(p_create_date)) /
(trunc(end_date) - trunc(start_date) + 1),
6)
WHERE id = v_task_id
AND trunc(valid_date) <= trunc(p_create_date)
AND trunc(end_date) - trunc(start_date) + 1 <> 0;
UPDATE A
SET upr = round(upr_rate * prem, 6)
WHERE id = v_task_id;
還是
UPDATE A
set rate =(case rate when ? then ?else? end),
upr =?,
WHERE id = v_task_id;
哪種方式好,臨界條件是什么,或者這么驗證
uj5u.com熱心網友回復:
這個要看具體需求是什么才決定用哪個陳述句updateuj5u.com熱心網友回復:
第一種,在業務上的描述比較簡單,也很清晰。第二種,某個大表做這個操作,如果是獨占操作,只掃描一次表,性能上或有優勢。 但是如果是個 OLTP系統,就會有競爭。
建議第一種。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/181239.html
標籤:開發
上一篇:MongoDB下載安裝與配置
