• update 更改字段


    -、update

    UPDATE ADB_SJ_YWCLZQXX A1 SET A1.BJE = A1.ZQME*NVL((
    SELECT DECODE(A2.ZQXZDM, '10',
    (SELECT B1.BQBJZ FROM ADB_DJ_ZQJXQCXX B1 WHERE B1.ZQDM = A1.ZQDM AND B1.BQQXR<=Q_DATE AND B1.BQJXR>Q_DATE),
    (SELECT B2.FXJG FROM ADB_DJ_ZQFXZJZC B2 WHERE B2.ZQDM = A1.ZQDM AND B2.ZJZCCS = 0)
    )
    FROM ADB_DJ_ZQ A2
    WHERE A2.ZQDM = A1.ZQDM
    ), 0)/100
    WHERE A1.HTBH in (SELECT B1.HTBH FROM ADB_SJ_YQYWCL B1 WHERE B1.CJRQ = Q_DATE AND B1.YWLBDM = '343') ;




    二、 union all
    UPDATE ADB_SJ_ZMQYWZQXX A1 SET A1.BJE = A1.ZQME*NVL((
    SELECT DECODE(A2.ZQXZDM, '36',
    (SELECT B1.BQBJZ FROM ADB_DJ_ZQJXQCXX B1 WHERE B1.ZQDM = A1.ZQDM AND B1.BQQXR<=V_DATE AND B1.BQJXR>V_DATE),
    (SELECT B2.FXJG FROM ADB_DJ_ZQFXZJZC B2 WHERE B2.ZQDM = A1.ZQDM AND B2.ZJZCCS = 0)
    )
    FROM ADB_DJ_ZQ A2
    WHERE A2.ZQDM = A1.ZQDM
    ), 0)/100
    WHERE A1.HTBH in (
    SELECT B1.HTBH FROM ADB_SJ_ZMQXQYWCL B1 WHERE B1.JGRQ = V_DATE AND B1.YWLBDM IN ('318','326')
    UNION ALL
    SELECT B1.HTBH FROM ADB_SJ_ZMQHGYWCL B1 WHERE B1.SQJGRQ = V_DATE AND B1.YWLBDM IN ('731','732','741','742')
    );

    三、exists

    delete from adb_xxfw_wbfjzqjxq a
    where exists (select 0
    from adb_tmp_sjhsz b
    where a.zqdm = b.sjzj_1
    and a.fxqc = TO_NUMBER(b.sjzj_2)
    and a.jlztdm = b.sjzj_3
    and a.sjqbbz = b.sjzj_4
    and a.sjlybz = b.sjzj_5
    and b.bm = 'ADB_XXFW_WBZQJXQCXX')

    四、in
    delete from adb_xxfw_wbfjzqjxq a
    where a.zqdm in (SELECT ADB_XXFW_WBZQ.ZQDM
    FROM ADB_XXFW_WBZQ
    where TRUNC(sjgxsj, 'DD') >= v_run_dt
    and zqxzdm = '10'
    union all
    SELECT ADB_XXFW_WBZQJXQCXX.ZQDM
    FROM ADB_XXFW_WBZQJXQCXX
    where TRUNC(sjgxsj, 'DD') >= v_run_dt)


    五、months_between、floor、ceil
    select a.zqdm,
    a.fxqc qc,
    b.fddqr,
    a.maxjxr,
    a.fxpl,
    months_between(b.fddqr, a.maxjxr),
    months_between(b.fddqr, a.maxjxr)/a.fxpl,
    floor(months_between(b.fddqr, a.maxjxr)/a.fxpl) r1,
    ceil(months_between(b.fddqr, a.maxjxr) / a.fxpl) rn --计算生成的期次数
    from tmp_adb_xxfw_wbfjzqjxq_01 a, adb_xxfw_wbzq b
    where a.zqdm = b.zqdm
    and a.maxjxr < b.fddqr


    六、sqrt(37) --37的平方根
    select round(sqrt(37)), sqrt(37) from dual

    七、

    update t_bas_sales_department_626 s
    set (s.code,s.leave,s.pickup_self,s.delivery) =(select ofs.code,ofs.leave,ofs.pickup_self,ofs.delivery from
    (select distinct os.code,

    fs.leave,

    fs.pickup_self,

    fs.delivery

    from t_bas_sales_department_626 os

    inner join
    t_bas_sales_department@ows2foss2 fs

    on os.code = fs.code

    where os.active = 'Y'

    and fs.active = 'Y'

    AND (os.leave != fs.leave or

    os.pickup_self != fs.pickup_self or

    os.delivery != fs.delivery)) ofs
    where s.code = ofs.code)
    where exists (
    select 1 from (select distinct os.code,

    fs.leave,

    fs.pickup_self,

    fs.delivery

    from t_bas_sales_department_626 os
    inner join
    t_bas_sales_department@ows2foss2 fs

    on os.code = fs.code

    where os.active = 'Y'

    and fs.active = 'Y'

    AND (os.leave != fs.leave or

    os.pickup_self != fs.pickup_self or

    os.delivery != fs.delivery)) ofs

    where s.code = ofs.code

    ) and s.active='Y'

  • 相关阅读:
    EasyUI问题小结(不定期更新·······)
    windows服务与前台交互
    C#捕获Windows窗体控件
    C#操作AD域中计算机
    远程桌面 Rdp文件的生成
    正则匹配的例子
    Nodejs中npm install 命令的问题
    Windows下使用curl命令
    关于PostmanURL中不能传递中文的问题
    MyBatis_Study_004(动态代理)
  • 原文地址:https://www.cnblogs.com/zhanglin123/p/14366924.html
Copyright © 2020-2023  润新知