You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在SQL Developer中用单条UPDATE语句更新不同行的不同值

单条语句实现多行不同值更新

可以通过CASE表达式在UPDATE语句的SET子句中,根据installment的不同值分配对应的日期,结合loan_id的过滤条件,用单条语句完成原三条语句的更新操作。

示例SQL语句

UPDATE repayment_schedule
SET 
    fromdate = CASE installment
        WHEN '2' THEN TO_DATE('03-SEP-22', 'DD-MON-RR')
        WHEN '3' THEN TO_DATE('03-OCT-22', 'DD-MON-RR')
        WHEN '4' THEN TO_DATE('03-NOV-22', 'DD-MON-RR')
    END,
    duedate = CASE installment
        WHEN '2' THEN TO_DATE('03-OCT-22', 'DD-MON-RR')
        WHEN '3' THEN TO_DATE('03-NOV-22', 'DD-MON-RR')
        WHEN '4' THEN TO_DATE('03-DEC-22', 'DD-MON-RR')
    END
WHERE loan_id = '22' 
  AND installment IN ('2', '3', '4');

说明

  1. 用CASE表达式分别对fromdate和duedate字段做条件赋值,匹配不同installment值设置对应日期。
  2. 使用TO_DATE函数显式转换字符串为日期类型,避免因数据库日期格式设置导致的转换错误。
  3. WHERE子句过滤目标loan_id和需要更新的installment范围,确保仅更新指定行。

注:如果第二条语句中的m_loan_repayment_schedule是独立表而非笔误,需针对该表单独写一条类似的UPDATE语句——单条UPDATE只能操作一个表。

内容的提问来源于stack exchange,提问作者Muhammad Usman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 16:36:43