zoukankan      html  css  js  c++  java
  • oracle遍历表更新另一个表(一对多)

    declare
    cursor cur_test is
    select t.txt_desig,
    m.segment_id,
    s.code_type_direct,
    case
    when s.uom_dist_ver_lower = 'FL' then
    s.uom_dist_ver_lower || s.val_dist_ver_lower
    else
    to_char(s.val_dist_ver_lower)
    end as val
    from nvduser11.en_route_rte t
    right join nvduser11.rte_seg s
    left join fmap2.segment m
    on s.segment_id = m.segment_id on
    t.en_route_rte_id = s.en_route_rte_id;
    begin
    for c in cur_test loop
    update fmap2.segment
    set first =
    (case
    when first is null or first = '' then
    c.txt_desig
    else
    to_char(first)
    end),
    second =
    (case
    when (first is not null or first != '') and
    (second is null or second = '') then
    c.txt_desig
    else
    to_char(second)
    end),
    third =
    (case
    when (second is not null or second != '') and
    (first is not null or first != '') and (third is null or third = '') then
    c.txt_desig
    else
    to_char(third)
    end),
    firstdirect =
    (case
    when first is null or first = '' then
    c.code_type_direct
    else
    to_char(firstdirect)
    end),
    firstaltitude =
    (case
    when first is null or first = '' then
    c.val
    else
    to_char(firstaltitude)
    end),
    seconddirect =
    (case
    when (first is not null or first != '') and
    (second is null or second = '') then
    c.code_type_direct
    else
    to_char(seconddirect)
    end),
    secondaltitude =
    (case
    when (first is not null or first != '') and
    (second is null or second = '') then
    c.val
    else
    to_char(secondaltitude)
    end),
    thirddirect =
    (case
    when (second is not null or second != '') and
    (first is not null or first != '') and (third is null or third = '') then
    c.code_type_direct
    else
    to_char(thirddirect)
    end),
    thirdaltitude =
    (case
    when (second is not null or second != '') and
    (first is not null or first != '') and (third is null or third = '') then
    c.val
    else
    to_char(thirdaltitude)
    end)
    where segment_id = c.segment_id;
    end loop;
    commit;
    end;

  • 相关阅读:
    Teleport垃圾代码tppabs的清理
    MVC Action 返回类型[转]
    Jquery 技巧收集..慢慢添加吧..
    下拉框根据输入文字自动选择和输入提示
    Repeater中,寻找TextBox,Lable.等的值
    纯CSS列自适应高
    一些基本的项目开发规范.慢慢总结中..
    MSSQL触发器
    IIS错误集,以及解决方法!
    C#创建Windows服务
  • 原文地址:https://www.cnblogs.com/weihongli/p/4180730.html
Copyright © 2011-2022 走看看